.elementor-87 .elementor-element.elementor-element-9c545c65{--display:flex;--min-height:74vh;--justify-content:center;--padding-top:208px;--padding-bottom:200px;--padding-left:24px;--padding-right:24px;}.elementor-87 .elementor-element.elementor-element-9c545c65:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-9c545c65 > .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=2000");background-position:center center;background-size:cover;}.elementor-87 .elementor-element.elementor-element-a7188e3e{--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-87 .elementor-element.elementor-element-615c8221{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-87 .elementor-element.elementor-element-67dbbeeb .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-87 .elementor-element.elementor-element-084c8126{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-87 .elementor-element.elementor-element-8fff9ec6{--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-87 .elementor-element.elementor-element-22f09959 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-87 .elementor-element.elementor-element-22f09959 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-87 .elementor-element.elementor-element-78df508d .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-87 .elementor-element.elementor-element-78df508d .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-87 .elementor-element.elementor-element-29807bf0{--display:flex;--padding-top:0px;--padding-bottom:104px;--padding-left:24px;--padding-right:24px;}.elementor-87 .elementor-element.elementor-element-286796bd{--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-87 .elementor-element.elementor-element-e75f336c{--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-87 .elementor-element.elementor-element-efadf7f2{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-87 .elementor-element.elementor-element-5443e399{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-87 .elementor-element.elementor-element-a3c66e3d{--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-87 .elementor-element.elementor-element-c706f0a7{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-87 .elementor-element.elementor-element-3923a3fd{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-87 .elementor-element.elementor-element-42f43b6c{--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-87 .elementor-element.elementor-element-f8065532{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-87 .elementor-element.elementor-element-eb8b7b6a{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-87 .elementor-element.elementor-element-cee4ec3b{--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-87 .elementor-element.elementor-element-aa471b5c{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-87 .elementor-element.elementor-element-5f3ffddc{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-87 .elementor-element.elementor-element-2931315e{--display:flex;--padding-top:112px;--padding-bottom:112px;--padding-left:24px;--padding-right:24px;}.elementor-87 .elementor-element.elementor-element-2931315e:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-2931315e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspcrem );}.elementor-87 .elementor-element.elementor-element-98bcb287{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-87 .elementor-element.elementor-element-43264df4{--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-87 .elementor-element.elementor-element-a8a63f76{--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-87 .elementor-element.elementor-element-989c3f7f{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-87 .elementor-element.elementor-element-cdff02ac .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-87 .elementor-element.elementor-element-feb49a6d{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-87 .elementor-element.elementor-element-8026ac2d{--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-87 .elementor-element.elementor-element-7f72ba31{--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-87 .elementor-element.elementor-element-38143222{--display:flex;}.elementor-87 .elementor-element.elementor-element-38143222:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-38143222 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://images.unsplash.com/photo-1524758631624-e2822e304c36?auto=format&fit=crop&q=80&w=1400");background-position:center center;background-size:cover;}.elementor-87 .elementor-element.elementor-element-2b8d2206{--display:flex;}.elementor-87 .elementor-element.elementor-element-2b8d2206:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-2b8d2206 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://images.unsplash.com/photo-1506377295352-e3154d43ea9e?auto=format&fit=crop&q=80&w=1400");background-position:center center;background-size:cover;}.elementor-87 .elementor-element.elementor-element-2e8fccd8{--display:flex;--padding-top:112px;--padding-bottom:112px;--padding-left:24px;--padding-right:24px;}.elementor-87 .elementor-element.elementor-element-2e8fccd8:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-2e8fccd8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspsag0 );}.elementor-87 .elementor-element.elementor-element-29dfe5a0{--display:flex;--gap:38px 38px;--row-gap:38px;--column-gap:38px;}.elementor-87 .elementor-element.elementor-element-87688c88{--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-87 .elementor-element.elementor-element-8303b079{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-87 .elementor-element.elementor-element-aa6af049{text-align:center;}.elementor-87 .elementor-element.elementor-element-aa6af049 .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-87 .elementor-element.elementor-element-530198a6{--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:26px 26px;--row-gap:26px;--column-gap:26px;--flex-wrap:wrap;}.elementor-87 .elementor-element.elementor-element-f173a9cc{--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-87 .elementor-element.elementor-element-2a388cee .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-87 .elementor-element.elementor-element-bd9dae80{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-87 .elementor-element.elementor-element-a88588b9{--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-87 .elementor-element.elementor-element-3b0f449f .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-87 .elementor-element.elementor-element-9ef10292{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-87 .elementor-element.elementor-element-203ccf3c{--display:flex;--padding-top:112px;--padding-bottom:112px;--padding-left:24px;--padding-right:24px;}.elementor-87 .elementor-element.elementor-element-203ccf3c:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-203ccf3c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-psprot0 );}.elementor-87 .elementor-element.elementor-element-53d6fef4{--display:flex;--gap:38px 38px;--row-gap:38px;--column-gap:38px;}.elementor-87 .elementor-element.elementor-element-1a0062ab{--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-87 .elementor-element.elementor-element-2cb7a354{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-87 .elementor-element.elementor-element-9919a4cd{text-align:center;}.elementor-87 .elementor-element.elementor-element-9919a4cd .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-87 .elementor-element.elementor-element-bfb09b86{--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-87 .elementor-element.elementor-element-34e43802{--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-87 .elementor-element.elementor-element-30efb627 .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-87 .elementor-element.elementor-element-ca080e61{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-87 .elementor-element.elementor-element-0967da2d{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-87 .elementor-element.elementor-element-1c00d75c{--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-87 .elementor-element.elementor-element-af083a5d .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-87 .elementor-element.elementor-element-d86ee630{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-87 .elementor-element.elementor-element-f2b4c2a6{--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-87 .elementor-element.elementor-element-494c9245 .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-87 .elementor-element.elementor-element-44a0ca95{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-87 .elementor-element.elementor-element-cec890f9{--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-87 .elementor-element.elementor-element-3721a007 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-87 .elementor-element.elementor-element-3721a007 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-87 .elementor-element.elementor-element-e97b8de5{--display:flex;--padding-top:120px;--padding-bottom:120px;--padding-left:24px;--padding-right:24px;}.elementor-87 .elementor-element.elementor-element-e97b8de5:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-e97b8de5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://images.unsplash.com/photo-1695252276713-4b72bd8c5ffe?auto=format&fit=crop&q=80&w=2000");background-position:center center;background-size:cover;}.elementor-87 .elementor-element.elementor-element-1536d1d0{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-87 .elementor-element.elementor-element-0422ffa3{text-align:center;color:var( --e-global-color-pspcrem );}.elementor-87 .elementor-element.elementor-element-e0213a6b{--display:flex;--padding-top:112px;--padding-bottom:112px;--padding-left:24px;--padding-right:24px;}.elementor-87 .elementor-element.elementor-element-e0213a6b:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-e0213a6b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspcrem );}.elementor-87 .elementor-element.elementor-element-65f6f946{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-87 .elementor-element.elementor-element-5f1b0bb7{--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-87 .elementor-element.elementor-element-24b13e12{--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-87 .elementor-element.elementor-element-9fbbc926{--display:flex;}.elementor-87 .elementor-element.elementor-element-9fbbc926:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-9fbbc926 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://images.unsplash.com/photo-1573497620053-ea5300f94f21?auto=format&fit=crop&q=80&w=1400");background-position:center center;background-size:cover;}.elementor-87 .elementor-element.elementor-element-bfc2e7aa{--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-87 .elementor-element.elementor-element-fa345c14{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-87 .elementor-element.elementor-element-8f34e5d9 .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-87 .elementor-element.elementor-element-6bcd41b4{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-87 .elementor-element.elementor-element-eb8d37aa .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-87 .elementor-element.elementor-element-eb8d37aa .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-87 .elementor-element.elementor-element-627d9af0{--display:flex;--padding-top:112px;--padding-bottom:112px;--padding-left:24px;--padding-right:24px;}.elementor-87 .elementor-element.elementor-element-627d9af0:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-627d9af0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspsag1 );}.elementor-87 .elementor-element.elementor-element-c11a80d6{--display:flex;--gap:38px 38px;--row-gap:38px;--column-gap:38px;}.elementor-87 .elementor-element.elementor-element-76fb48bc{--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-87 .elementor-element.elementor-element-947d5d22{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-87 .elementor-element.elementor-element-517927e1{text-align:center;}.elementor-87 .elementor-element.elementor-element-517927e1 .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-87 .elementor-element.elementor-element-4c5c2524{--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:26px 26px;--row-gap:26px;--column-gap:26px;--flex-wrap:wrap;}.elementor-87 .elementor-element.elementor-element-7d1e70d1{--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:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-87 .elementor-element.elementor-element-c80f2267 .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-87 .elementor-element.elementor-element-7554bc95{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-87 .elementor-element.elementor-element-b3e1c5d5{--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:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-87 .elementor-element.elementor-element-6a189968 .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-87 .elementor-element.elementor-element-90846a1e{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-87 .elementor-element.elementor-element-788ed81d{--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:24px 24px;--row-gap:24px;--column-gap:24px;}.elementor-87 .elementor-element.elementor-element-6bcb9026{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-87 .elementor-element.elementor-element-5fb71465 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-87 .elementor-element.elementor-element-5fb71465 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-87 .elementor-element.elementor-element-02f0b9d2{--display:flex;--padding-top:120px;--padding-bottom:120px;--padding-left:24px;--padding-right:24px;}.elementor-87 .elementor-element.elementor-element-02f0b9d2:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-02f0b9d2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-87 .elementor-element.elementor-element-738f5b6e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-87 .elementor-element.elementor-element-1b100c7c{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-87 .elementor-element.elementor-element-e28e67e4{text-align:center;}.elementor-87 .elementor-element.elementor-element-e28e67e4 .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-87 .elementor-element.elementor-element-7da4ed53{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-87 .elementor-element.elementor-element-7136f0ab .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-87 .elementor-element.elementor-element-7136f0ab .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-87 .elementor-element.elementor-element-615c8221{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-87 .elementor-element.elementor-element-67dbbeeb .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-87 .elementor-element.elementor-element-084c8126{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-87 .elementor-element.elementor-element-efadf7f2{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-87 .elementor-element.elementor-element-5443e399{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-c706f0a7{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-87 .elementor-element.elementor-element-3923a3fd{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-f8065532{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-87 .elementor-element.elementor-element-eb8b7b6a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-aa471b5c{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-87 .elementor-element.elementor-element-5f3ffddc{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-989c3f7f{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-87 .elementor-element.elementor-element-cdff02ac .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-87 .elementor-element.elementor-element-feb49a6d{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-8303b079{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-87 .elementor-element.elementor-element-aa6af049 .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-87 .elementor-element.elementor-element-2a388cee .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-87 .elementor-element.elementor-element-bd9dae80{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-3b0f449f .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-87 .elementor-element.elementor-element-9ef10292{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-2cb7a354{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-87 .elementor-element.elementor-element-9919a4cd .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-87 .elementor-element.elementor-element-30efb627 .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-87 .elementor-element.elementor-element-ca080e61{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-87 .elementor-element.elementor-element-0967da2d{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-af083a5d .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-87 .elementor-element.elementor-element-d86ee630{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-494c9245 .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-87 .elementor-element.elementor-element-44a0ca95{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-fa345c14{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-87 .elementor-element.elementor-element-8f34e5d9 .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-87 .elementor-element.elementor-element-6bcd41b4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-947d5d22{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-87 .elementor-element.elementor-element-517927e1 .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-87 .elementor-element.elementor-element-c80f2267 .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-87 .elementor-element.elementor-element-7554bc95{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-6a189968 .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-87 .elementor-element.elementor-element-90846a1e{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-6bcb9026{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-1b100c7c{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-87 .elementor-element.elementor-element-e28e67e4 .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-87 .elementor-element.elementor-element-7da4ed53{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-87 .elementor-element.elementor-element-9c545c65{--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-87 .elementor-element.elementor-element-615c8221{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-87 .elementor-element.elementor-element-67dbbeeb .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-87 .elementor-element.elementor-element-084c8126{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-87 .elementor-element.elementor-element-29807bf0{--padding-top:0px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-87 .elementor-element.elementor-element-efadf7f2{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-87 .elementor-element.elementor-element-5443e399{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-c706f0a7{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-87 .elementor-element.elementor-element-3923a3fd{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-f8065532{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-87 .elementor-element.elementor-element-eb8b7b6a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-aa471b5c{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-87 .elementor-element.elementor-element-5f3ffddc{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-2931315e{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-87 .elementor-element.elementor-element-989c3f7f{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-87 .elementor-element.elementor-element-cdff02ac .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-87 .elementor-element.elementor-element-feb49a6d{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-2e8fccd8{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-87 .elementor-element.elementor-element-8303b079{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-87 .elementor-element.elementor-element-aa6af049 .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-87 .elementor-element.elementor-element-2a388cee .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-87 .elementor-element.elementor-element-bd9dae80{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-3b0f449f .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-87 .elementor-element.elementor-element-9ef10292{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-203ccf3c{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-87 .elementor-element.elementor-element-2cb7a354{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-87 .elementor-element.elementor-element-9919a4cd .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-87 .elementor-element.elementor-element-30efb627 .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-87 .elementor-element.elementor-element-ca080e61{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-87 .elementor-element.elementor-element-0967da2d{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-af083a5d .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-87 .elementor-element.elementor-element-d86ee630{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-494c9245 .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-87 .elementor-element.elementor-element-44a0ca95{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-e97b8de5{--padding-top:88px;--padding-bottom:88px;--padding-left:20px;--padding-right:20px;}.elementor-87 .elementor-element.elementor-element-e0213a6b{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-87 .elementor-element.elementor-element-fa345c14{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-87 .elementor-element.elementor-element-8f34e5d9 .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-87 .elementor-element.elementor-element-6bcd41b4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-627d9af0{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-87 .elementor-element.elementor-element-947d5d22{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-87 .elementor-element.elementor-element-517927e1 .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-87 .elementor-element.elementor-element-c80f2267 .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-87 .elementor-element.elementor-element-7554bc95{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-6a189968 .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-87 .elementor-element.elementor-element-90846a1e{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-6bcb9026{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-87 .elementor-element.elementor-element-02f0b9d2{--padding-top:88px;--padding-bottom:88px;--padding-left:20px;--padding-right:20px;}.elementor-87 .elementor-element.elementor-element-1b100c7c{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-87 .elementor-element.elementor-element-e28e67e4 .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-87 .elementor-element.elementor-element-7da4ed53{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.
   ========================================================================== */


/* =========================================================================
   LE COIN DES PROS · Pôle Santé Psy · page 4 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 ICI 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 SUR CETTE PAGE. Le §6bis l'écrit depuis le
   début : « /le-coin-des-pros/, /entreprises/ : formulaire uniquement, aucune
   mention de Doctolib ». C'est la seule ligne du §6bis que les lectures du
   6 août n'ont pas rendue caduque, et une assertion du générateur la tient.

   UN MONTANT, ET UN SEUL. Le §26.2 a posé que les tarifs ont une source
   unique et que Consultations n'en porte aucun. La supervision est le cas
   symétrique : /prendre-rendez-vous/ ne la tarife pas et renvoie ici. Les
   85 € de l'heure vivent donc SUR CETTE PAGE et nulle part ailleurs. Une
   assertion du générateur refuse tout second montant.
   ========================================================================= */

/* ---------------------------------------------------------- 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 de Consultations, qui est la page voisine dans le menu. */

.psp-pourquoi.psp-pourquoi::before  { inset-block-start: -22%; inset-inline-end: -16%; inline-size: 40vw; block-size: 40vw; }
.psp-pourquoi.psp-pourquoi::after   { inset-block-end: -26%; inset-inline-start: -14%; inline-size: 30vw; block-size: 30vw; }

.psp-cadre.psp-cadre::before        { inset-block-start: -30%; inset-inline-end: auto; inset-inline-start: -14%; inline-size: 36vw; block-size: 36vw; }
.psp-cadre.psp-cadre::after         { inset-block-end: -18%; inset-inline-start: auto; inset-inline-end: -12%; inline-size: 26vw; block-size: 26vw; }

.psp-modalites.psp-modalites::before { inset-block-start: -18%; inset-inline-end: -20%; inline-size: 32vw; block-size: 32vw; }
.psp-modalites.psp-modalites::after  { inset-block-end: -28%; inset-inline-start: -8%; inline-size: 34vw; block-size: 34vw; }

.psp-structures.psp-structures::before { inset-block-start: -26%; inset-inline-end: auto; inset-inline-start: -18%; inline-size: 34vw; block-size: 34vw; }
.psp-structures.psp-structures::after  { inset-block-end: -20%; inset-inline-start: auto; inset-inline-end: -14%; inline-size: 28vw; block-size: 28vw; }

.psp-formations-sec.psp-formations-sec::before { inset-block-start: -14%; inset-inline-end: -10%; inline-size: 38vw; block-size: 38vw; }
.psp-formations-sec.psp-formations-sec::after  { inset-block-end: -24%; inset-inline-start: -16%; inline-size: 30vw; block-size: 30vw; }

.psp-cta.psp-cta::before { inset-block-start: -24%; inset-inline-end: -14%; inline-size: 36vw; block-size: 36vw; }
.psp-cta.psp-cta::after  { inset-block-end: -22%; inset-inline-start: -12%; inline-size: 28vw; block-size: 28vw; }

/* 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. */
.psp-cadre-inner.psp-cadre-inner::before      { inset-block-start: 26%; inset-inline-start: 14%; }
.psp-formations-inner.psp-formations-inner::before { inset-block-start: 12%; inset-inline-start: 78%; }

/* ---------------------------------------------------------- 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. */

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

/* ---------------------------------------------------------- 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. */

.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.
   `flex-basis: 0` : ce n'est plus le libellé qui décide de la largeur. */
.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; }

/* MESURÉ, PAS VU : deux des quatre repères ont un titre sur DEUX lignes
   (« Individuel ou en groupe », « Plus de 15 ans d'enseignement ») et les deux
   autres sur une. Les libellés ne démarraient donc pas à la même hauteur et la
   rangée sortait en dents de scie. C'est exactement le défaut 4 du §24 sur les
   titres d'étape de la page 80, et le correctif est le même : on RÉSERVE deux
   lignes plutôt que de raccourcir le verbatim, et uniquement quand les repères
   sont côte à côte. Une fois empilés sous 620px, cette hauteur ne créerait que
   du vide. */
@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. Pourquoi une supervision
   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. */

.psp-pourquoi-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-pourquoi-grille > .psp-pourquoi-col,
.psp-pourquoi-grille > .e-con-inner > .psp-pourquoi-col {
  flex: 1 1 330px !important;
  width: auto !important;
  min-inline-size: 0 !important;
}

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

/* RUSTINE RETIRÉE le 6 août 2026 : l'air sous un titre de section aligné à
   gauche est porté par le SOCLE, corrigé à la racine. Le diagnostic d'origine
   était faux : la règle du socle ne perdait pas contre le trait dégradé, elle
   ne s'appliquait PAS DU TOUT. La rustine ne marchait que par son `!important`.
   Voir psp-formes.css, « Air sous un titre de section ». */

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

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

/* ---------------------------------------------------------- 5. Le cadre : pour qui, pourquoi
   Deux panneaux de texte à barre de couleur, sans photographie : ils portent
   des listes, une image en tête repousserait la liste sous la ligne de
   flottaison sans rien ajouter. Même raisonnement qu'au §20 sur Qui suis-je. */

/* Blocs de titre centrés. Une classe par section plutôt qu'une classe
   partagée : les décalages de halos du §1 se posent section par section, et
   une classe unique rendrait impossible de les différencier plus tard. */
.psp-cadre-titre-bloc,
.psp-modalites-titre-bloc,
.psp-formations-titre-bloc { text-align: center; margin-inline: auto; }

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

.psp-modalites-action { padding-block-start: 8px !important; }
.psp-formations-mot { padding-block-start: 8px !important; }

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

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

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

/* Règle 2 du socle : 0-4-0 sur toute règle de titre. Sans elle le titre sort à
   33px, la typographie globale, et c'est invisible tant qu'un mot long ne
   déborde pas de sa colonne. Constaté sur les quatre pages le 6 août 2026. */
.psp-panneau-titre.psp-panneau-titre.psp-panneau-titre .elementor-heading-title {
  font-size: 24px;
  line-height: 1.28;
  overflow-wrap: break-word;
}

.psp-panneau-intro p { margin: 0 0 4px; line-height: 1.7; max-inline-size: 33em; }

@media (max-width: 860px) {
  .psp-panneaux > .psp-panneau,
  .psp-panneaux > .e-con-inner > .psp-panneau { flex: 1 1 100% !important; }
}

/* ---------------------------------------------------------- 6. Modalités
   Trois blocs, trois colonnes ou une, JAMAIS 2 + 1 : une rangée orpheline se
   corrige en imposant la grille, pas en ajustant la base souple (règle 5 du
   socle). C'est le seul endroit du site où un tarif de supervision est écrit. */

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

.psp-note {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 30px 28px !important;
  box-shadow: 0 1px 2px rgba(15, 37, 64, .04), 0 12px 30px rgba(15, 37, 64, .06);
}

.psp-note-titre { margin-block-end: 8px !important; }

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

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

/* Le montant. Fraunces, taille de sous-titre : c'est une information qu'on
   vient chercher, elle a le droit d'être lisible d'un coup d'oeil. */
.psp-note-montant p {
  margin: 0 0 4px;
  font-family: var(--psp-titre, "Fraunces"), sans-serif;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: var(--psp-navy-900);
}

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

/* ---------------------------------------------------------- 7. 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, celle-ci
   une phrase du verbatim adressée aux pairs. */

/* ---------------------------------------------------------- 8. Pour les structures
   Deux colonnes : une photographie à cadre organique, un bloc de texte. */

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

.psp-structures-grille > .e-con-inner,
.psp-structures-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. */
.psp-photo-cadre {
  border-radius: 46% 54% 40% 60% / 14% 14% 86% 86%;
  min-block-size: 340px;
  box-shadow: 0 3px 8px rgba(15, 37, 64, .08), 0 24px 56px rgba(15, 37, 64, .16);
}

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

/* MESURÉ APRÈS RETOUR DE TOUFIK : 3 px entre le dernier paragraphe et le bouton.
   Le §21 veut 28 à 60 pour l'écart « dernier texte vers boutons », et cette
   norme vaut pour TOUT bloc qui se termine par une action, pas seulement pour
   le hero. C'est le seul des cinq écarts du §21 que `recette-page.js` ne
   contrôle qu'au hero, et c'est là qu'il est passé.
   Cause : `p:last-child` remet sa marge basse à zéro, et l'écart de la colonne
   est à 0. Il ne restait donc rien du tout.
   Contrôlés au passage, les trois autres blocs à bouton de la page : 46 aux
   modalités, 41 au hero, 39 à l'appel à l'action, et 27 à la formation, soit
   1 px sous le plancher. Les deux hors norme sont ramenés dedans. */
.psp-structure-texte.psp-structure-texte { margin-block-end: 32px !important; }
/* Seconde rustine retirée le 6 août 2026, même raison : le socle porte
   désormais l'air sous les titres de section alignés à gauche. */

.psp-structure-titre.psp-structure-titre.psp-structure-titre .elementor-heading-title {
  font-size: 26px;
  line-height: 1.26;
  overflow-wrap: break-word;
}

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

/* ---------------------------------------------------------- 9. Formation sur mesure
   Deux thèmes du verbatim, DEUX PANNEAUX JUMEAUX, et aucune photographie.

   Première écriture, corrigée après capture : la carte de gauche portait une
   photographie et celle de droite non, au motif que deux images côte à côte
   auraient fait doublon avec le collage. À l'écran, les deux titres ne
   démarraient pas à la même hauteur (l'un sous 210px de photo, l'autre en haut
   de sa carte) et la rangée se lisait comme un défaut, pas comme une
   intention. Une photographie sur l'une de deux cartes jumelles est
   indéfendable : soit les deux, soit aucune.
   Retenu : AUCUNE. Ces deux blocs énumèrent des thèmes de formation, c'est
   exactement la matière du composant `psp-panneau` posé au §20 sur Qui suis-je,
   et une image en tête repousserait la liste sans rien ajouter. La section est
   la huitième sur neuf, encadrée par la grande photographie à cadre organique
   des structures et par l'appel à l'action marine : le rythme tient. */

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

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

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

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

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

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

.psp-formation-mot p { margin: 0; line-height: 1.75; max-inline-size: 33em; }
.psp-formation-mot.psp-formation-mot { margin-block-end: 12px !important; }

@media (max-width: 860px) {
  .psp-formations > .psp-formation,
  .psp-formations > .e-con-inner > .psp-formation { flex: 1 1 100% !important; }
}

/* ---------------------------------------------------------- 10. Appel à l'action
   Fond marine, un seul chemin : la fiche contact. Le §6bis interdit Doctolib
   sur cette page, et c'est la seule de ses lignes que les lectures du 6 août
   n'ont pas rendue caduque : un professionnel qui cherche une supervision n'a
   rien à faire sur un agenda de consultations. */

.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; }

/* ---------------------------------------------------------- 11. 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; }

.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;
}

.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; }

/* VU À LA CAPTURE, PAS À LA MESURE : les deux boutons de milieu de page
   sortaient collés à gauche malgré `psp-bouton--centre`.
   Cause, mesurée ensuite : `psp-bouton--secondaire` pose `align-self:
   flex-start`, repris tel quel de Consultations où il est juste, et Elementor
   applique l'`align-self` du WIDGET par-dessus l'`align-items` du CONTAINER.
   Poser `align-items: center` sur le parent ne suffit donc pas, la valeur
   relevée sur le widget restait `flex-start`. Le centrage se reprend sur le
   widget lui-même, à spécificité égale et plus bas dans la feuille.
   C'est la même famille que le piège 6bis du §18 : la règle s'appliquait, elle
   ne visait simplement pas la bonne boîte. */
.psp-bouton--centre.psp-bouton--centre.psp-bouton--centre {
  align-self: center;
  align-items: center;
}

/* ---------------------------------------------------------- 12. 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-panneau { padding: 30px 24px 28px !important; }
  .psp-note { padding: 26px 22px !important; }
  .psp-formation { padding: 30px 24px 28px !important; }
}

/* ---------------------------------------------------------- 13. 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-panneau:hover,
  .psp-note:hover,
  .psp-formation:hover { transform: none; }
}

/* ---------------------------------------------------------- 14. 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-1517048676732-d65bc937f952?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-1524758631624-e2822e304c36?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-1506377295352-e3154d43ea9e?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-structures.psp-photo-structures.psp-photo-structures.psp-photo-structures.psp-photo-structures {
  background-image: url("https://images.unsplash.com/photo-1573497620053-ea5300f94f21?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-1695252276713-4b72bd8c5ffe?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 */