.elementor-5 .elementor-element.elementor-element-6febcf31{--display:flex;--min-height:46vh;--justify-content:center;--padding-top:168px;--padding-bottom:144px;--padding-left:24px;--padding-right:24px;}.elementor-5 .elementor-element.elementor-element-6febcf31:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-6febcf31 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-5 .elementor-element.elementor-element-8f375a48{--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-5 .elementor-element.elementor-element-e752518b{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-5 .elementor-element.elementor-element-db3b3a74 .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-5 .elementor-element.elementor-element-b6646591{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-5 .elementor-element.elementor-element-9c41d4b7{font-family:var( --e-global-typography-psppeti-font-family ), Sans-serif;font-size:var( --e-global-typography-psppeti-font-size );font-weight:var( --e-global-typography-psppeti-font-weight );line-height:var( --e-global-typography-psppeti-line-height );color:var( --e-global-color-pspsag3 );}.elementor-5 .elementor-element.elementor-element-373978a5{--display:flex;--padding-top:0px;--padding-bottom:96px;--padding-left:24px;--padding-right:24px;}.elementor-5 .elementor-element.elementor-element-bc8bf591{--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-5 .elementor-element.elementor-element-1b4867c0{--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-5 .elementor-element.elementor-element-0f416853{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-5 .elementor-element.elementor-element-3c0f5675{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-5 .elementor-element.elementor-element-93a11859{--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-5 .elementor-element.elementor-element-3677effa{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-5 .elementor-element.elementor-element-fc230676{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-5 .elementor-element.elementor-element-60c33b3c{--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-5 .elementor-element.elementor-element-556d77e2{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-5 .elementor-element.elementor-element-1b5d7826{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-5 .elementor-element.elementor-element-a0b7e768{--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-5 .elementor-element.elementor-element-acfba436{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-5 .elementor-element.elementor-element-3752d1d1{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-5 .elementor-element.elementor-element-e27f7c94{--display:flex;--padding-top:0px;--padding-bottom:104px;--padding-left:24px;--padding-right:24px;}.elementor-5 .elementor-element.elementor-element-e27f7c94:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-e27f7c94 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspcrem );}.elementor-5 .elementor-element.elementor-element-6b1013e7{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-5 .elementor-element.elementor-element-cec2be36 .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-5 .elementor-element.elementor-element-7ae32e40{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-5 .elementor-element.elementor-element-4c5fe284{--display:flex;--padding-top:104px;--padding-bottom:104px;--padding-left:24px;--padding-right:24px;}.elementor-5 .elementor-element.elementor-element-4c5fe284:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-4c5fe284 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspsag0 );}.elementor-5 .elementor-element.elementor-element-4112b101{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5 .elementor-element.elementor-element-a1a2cf10{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-5 .elementor-element.elementor-element-fcd1d279 .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-5 .elementor-element.elementor-element-f7891774{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-5 .elementor-element.elementor-element-e412a6f5{--display:flex;--padding-top:104px;--padding-bottom:104px;--padding-left:24px;--padding-right:24px;}.elementor-5 .elementor-element.elementor-element-e412a6f5:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-e412a6f5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspcrem );}.elementor-5 .elementor-element.elementor-element-24992fde{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5 .elementor-element.elementor-element-4fbe046c{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-5 .elementor-element.elementor-element-1055b82e .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-5 .elementor-element.elementor-element-c0128ec6{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-5 .elementor-element.elementor-element-5293fce5{--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:24px 28px;--row-gap:24px;--column-gap:28px;--flex-wrap:wrap;}.elementor-5 .elementor-element.elementor-element-0458ad58{--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-5 .elementor-element.elementor-element-73de2d7f .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-5 .elementor-element.elementor-element-8704dffc{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-5 .elementor-element.elementor-element-71cdc8d5{--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-5 .elementor-element.elementor-element-a4492802 .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-5 .elementor-element.elementor-element-142bd1ad{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-5 .elementor-element.elementor-element-d7ff8d5c .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-5 .elementor-element.elementor-element-5fa78e46{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-5 .elementor-element.elementor-element-41183a62 .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-5 .elementor-element.elementor-element-f51f61a4{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-5 .elementor-element.elementor-element-92d17a18{--display:flex;--padding-top:104px;--padding-bottom:104px;--padding-left:24px;--padding-right:24px;}.elementor-5 .elementor-element.elementor-element-92d17a18:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-92d17a18 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-psprot0 );}.elementor-5 .elementor-element.elementor-element-3ce88146{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5 .elementor-element.elementor-element-6880ecb3{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-5 .elementor-element.elementor-element-c0cb6bd4 .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-5 .elementor-element.elementor-element-7d8f14a1{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-5 .elementor-element.elementor-element-eda29973 .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-5 .elementor-element.elementor-element-af637169{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-5 .elementor-element.elementor-element-b63e57e0{--display:flex;--padding-top:104px;--padding-bottom:104px;--padding-left:24px;--padding-right:24px;}.elementor-5 .elementor-element.elementor-element-b63e57e0:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-b63e57e0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspcrem );}.elementor-5 .elementor-element.elementor-element-4a2a1cad{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5 .elementor-element.elementor-element-d52f0506{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-5 .elementor-element.elementor-element-838651d4 .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-5 .elementor-element.elementor-element-e7198784{--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-5 .elementor-element.elementor-element-cf1749fb{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-5 .elementor-element.elementor-element-88156a28{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-5 .elementor-element.elementor-element-bf7b3974{--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-5 .elementor-element.elementor-element-92b72e29{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-5 .elementor-element.elementor-element-c4dc8732{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-5 .elementor-element.elementor-element-554ba23b{--display:flex;--padding-top:104px;--padding-bottom:104px;--padding-left:24px;--padding-right:24px;}.elementor-5 .elementor-element.elementor-element-554ba23b:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-554ba23b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspsag0 );}.elementor-5 .elementor-element.elementor-element-00e208e1{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5 .elementor-element.elementor-element-4bdc14a0{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-5 .elementor-element.elementor-element-89aff39c .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-5 .elementor-element.elementor-element-0dc45dac{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-5 .elementor-element.elementor-element-d320e7aa .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-5 .elementor-element.elementor-element-73da55cc{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-5 .elementor-element.elementor-element-08f5beb2{--display:flex;--padding-top:104px;--padding-bottom:104px;--padding-left:24px;--padding-right:24px;}.elementor-5 .elementor-element.elementor-element-08f5beb2:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-08f5beb2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspcrem );}.elementor-5 .elementor-element.elementor-element-60791ef8{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5 .elementor-element.elementor-element-ff27673e{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-5 .elementor-element.elementor-element-fdbf1d26 .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-5 .elementor-element.elementor-element-167910fd{--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-5 .elementor-element.elementor-element-1b3a0a1d{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-5 .elementor-element.elementor-element-937e9027{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-5 .elementor-element.elementor-element-a1b99659 .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-5 .elementor-element.elementor-element-d4972170{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-5 .elementor-element.elementor-element-f0fa7f1f{--display:flex;--padding-top:104px;--padding-bottom:104px;--padding-left:24px;--padding-right:24px;}.elementor-5 .elementor-element.elementor-element-f0fa7f1f:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-f0fa7f1f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-psprot0 );}.elementor-5 .elementor-element.elementor-element-4d36e05f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5 .elementor-element.elementor-element-6c74a8c6{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-5 .elementor-element.elementor-element-721217d2 .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-5 .elementor-element.elementor-element-293ea5f3{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-5 .elementor-element.elementor-element-48f5dd91 .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-5 .elementor-element.elementor-element-aa0025de{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-5 .elementor-element.elementor-element-3c02a653 .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-5 .elementor-element.elementor-element-e911698b{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-5 .elementor-element.elementor-element-6bfc2031 .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-5 .elementor-element.elementor-element-0cc172a5{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-5 .elementor-element.elementor-element-375593e8{--display:flex;--padding-top:112px;--padding-bottom:112px;--padding-left:24px;--padding-right:24px;}.elementor-5 .elementor-element.elementor-element-375593e8:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-375593e8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-5 .elementor-element.elementor-element-abee6137{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5 .elementor-element.elementor-element-1938dc88{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-5 .elementor-element.elementor-element-1c187cda .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-5 .elementor-element.elementor-element-59c19c26{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-5 .elementor-element.elementor-element-00c876cc{text-align:center;}.elementor-5 .elementor-element.elementor-element-00c876cc .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-5 .elementor-element.elementor-element-2f8d1f15{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-5 .elementor-element.elementor-element-42a5e7ee{--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-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-5 .elementor-element.elementor-element-c7b94dc1 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-5 .elementor-element.elementor-element-c7b94dc1 .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-5 .elementor-element.elementor-element-e752518b{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-5 .elementor-element.elementor-element-db3b3a74 .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-5 .elementor-element.elementor-element-b6646591{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-9c41d4b7{font-size:var( --e-global-typography-psppeti-font-size );line-height:var( --e-global-typography-psppeti-line-height );}.elementor-5 .elementor-element.elementor-element-0f416853{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-5 .elementor-element.elementor-element-3c0f5675{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-3677effa{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-5 .elementor-element.elementor-element-fc230676{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-556d77e2{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-5 .elementor-element.elementor-element-1b5d7826{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-acfba436{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-5 .elementor-element.elementor-element-3752d1d1{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-cec2be36 .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-5 .elementor-element.elementor-element-7ae32e40{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-a1a2cf10{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-5 .elementor-element.elementor-element-fcd1d279 .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-5 .elementor-element.elementor-element-f7891774{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-4fbe046c{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-5 .elementor-element.elementor-element-1055b82e .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-5 .elementor-element.elementor-element-c0128ec6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-73de2d7f .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-5 .elementor-element.elementor-element-8704dffc{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-a4492802 .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-5 .elementor-element.elementor-element-142bd1ad{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-d7ff8d5c .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-5 .elementor-element.elementor-element-5fa78e46{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-41183a62 .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-5 .elementor-element.elementor-element-f51f61a4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-6880ecb3{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-5 .elementor-element.elementor-element-c0cb6bd4 .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-5 .elementor-element.elementor-element-7d8f14a1{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-eda29973 .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-5 .elementor-element.elementor-element-af637169{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-d52f0506{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-5 .elementor-element.elementor-element-838651d4 .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-5 .elementor-element.elementor-element-cf1749fb{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-88156a28{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-92b72e29{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-c4dc8732{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-4bdc14a0{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-5 .elementor-element.elementor-element-89aff39c .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-5 .elementor-element.elementor-element-0dc45dac{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-d320e7aa .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-5 .elementor-element.elementor-element-73da55cc{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-ff27673e{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-5 .elementor-element.elementor-element-fdbf1d26 .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-5 .elementor-element.elementor-element-1b3a0a1d{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-937e9027{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-a1b99659 .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-5 .elementor-element.elementor-element-d4972170{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-6c74a8c6{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-5 .elementor-element.elementor-element-721217d2 .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-5 .elementor-element.elementor-element-293ea5f3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-48f5dd91 .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-5 .elementor-element.elementor-element-aa0025de{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-3c02a653 .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-5 .elementor-element.elementor-element-e911698b{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-6bfc2031 .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-5 .elementor-element.elementor-element-0cc172a5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-1938dc88{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-5 .elementor-element.elementor-element-1c187cda .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-5 .elementor-element.elementor-element-59c19c26{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-00c876cc .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-5 .elementor-element.elementor-element-2f8d1f15{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 );}}@media(max-width:767px){.elementor-5 .elementor-element.elementor-element-6febcf31{--min-height:50vh;--padding-top:132px;--padding-bottom:104px;--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-5 .elementor-element.elementor-element-e752518b{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-5 .elementor-element.elementor-element-db3b3a74 .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-5 .elementor-element.elementor-element-b6646591{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-9c41d4b7{font-size:var( --e-global-typography-psppeti-font-size );line-height:var( --e-global-typography-psppeti-line-height );}.elementor-5 .elementor-element.elementor-element-373978a5{--padding-top:0px;--padding-bottom:72px;--padding-left:20px;--padding-right:20px;}.elementor-5 .elementor-element.elementor-element-0f416853{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-5 .elementor-element.elementor-element-3c0f5675{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-3677effa{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-5 .elementor-element.elementor-element-fc230676{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-556d77e2{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-5 .elementor-element.elementor-element-1b5d7826{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-acfba436{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-5 .elementor-element.elementor-element-3752d1d1{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-e27f7c94{--padding-top:0px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-5 .elementor-element.elementor-element-cec2be36 .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-5 .elementor-element.elementor-element-7ae32e40{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-4c5fe284{--padding-top:76px;--padding-bottom:76px;--padding-left:20px;--padding-right:20px;}.elementor-5 .elementor-element.elementor-element-a1a2cf10{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-5 .elementor-element.elementor-element-fcd1d279 .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-5 .elementor-element.elementor-element-f7891774{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-e412a6f5{--padding-top:76px;--padding-bottom:76px;--padding-left:20px;--padding-right:20px;}.elementor-5 .elementor-element.elementor-element-4fbe046c{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-5 .elementor-element.elementor-element-1055b82e .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-5 .elementor-element.elementor-element-c0128ec6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-73de2d7f .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-5 .elementor-element.elementor-element-8704dffc{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-a4492802 .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-5 .elementor-element.elementor-element-142bd1ad{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-d7ff8d5c .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-5 .elementor-element.elementor-element-5fa78e46{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-41183a62 .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-5 .elementor-element.elementor-element-f51f61a4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-92d17a18{--padding-top:76px;--padding-bottom:76px;--padding-left:20px;--padding-right:20px;}.elementor-5 .elementor-element.elementor-element-6880ecb3{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-5 .elementor-element.elementor-element-c0cb6bd4 .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-5 .elementor-element.elementor-element-7d8f14a1{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-eda29973 .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-5 .elementor-element.elementor-element-af637169{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-b63e57e0{--padding-top:76px;--padding-bottom:76px;--padding-left:20px;--padding-right:20px;}.elementor-5 .elementor-element.elementor-element-d52f0506{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-5 .elementor-element.elementor-element-838651d4 .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-5 .elementor-element.elementor-element-cf1749fb{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-88156a28{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-92b72e29{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-c4dc8732{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-554ba23b{--padding-top:76px;--padding-bottom:76px;--padding-left:20px;--padding-right:20px;}.elementor-5 .elementor-element.elementor-element-4bdc14a0{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-5 .elementor-element.elementor-element-89aff39c .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-5 .elementor-element.elementor-element-0dc45dac{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-d320e7aa .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-5 .elementor-element.elementor-element-73da55cc{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-08f5beb2{--padding-top:76px;--padding-bottom:76px;--padding-left:20px;--padding-right:20px;}.elementor-5 .elementor-element.elementor-element-ff27673e{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-5 .elementor-element.elementor-element-fdbf1d26 .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-5 .elementor-element.elementor-element-1b3a0a1d{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-937e9027{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-a1b99659 .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-5 .elementor-element.elementor-element-d4972170{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-f0fa7f1f{--padding-top:76px;--padding-bottom:76px;--padding-left:20px;--padding-right:20px;}.elementor-5 .elementor-element.elementor-element-6c74a8c6{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-5 .elementor-element.elementor-element-721217d2 .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-5 .elementor-element.elementor-element-293ea5f3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-48f5dd91 .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-5 .elementor-element.elementor-element-aa0025de{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-3c02a653 .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-5 .elementor-element.elementor-element-e911698b{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-6bfc2031 .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-5 .elementor-element.elementor-element-0cc172a5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-375593e8{--padding-top:84px;--padding-bottom:84px;--padding-left:20px;--padding-right:20px;}.elementor-5 .elementor-element.elementor-element-1938dc88{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-5 .elementor-element.elementor-element-1c187cda .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-5 .elementor-element.elementor-element-59c19c26{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-5 .elementor-element.elementor-element-00c876cc .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-5 .elementor-element.elementor-element-2f8d1f15{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 );}}/* 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.
   ========================================================================== */


/* =========================================================================
   POLITIQUE DE CONFIDENTIALITÉ · Pôle Santé Psy · sixième page déclinée
   7 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, micro-interactions, signes récurrents, mesure de
   lecture, mouvement réduit et gabarits de grille viennent de là. On construit
   AVEC, on ne le réinvente pas (PSP-SYSTEME-FORMES.md).

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

   TROIS ÉCARTS AU DOSAGE DU SOCLE, ASSUMÉS ET ASSERTÉS DANS LE GÉNÉRATEUR.

   · AUCUNE PHOTOGRAPHIE. Le socle en demande une par tranche de trois
     sections. Les photographies du site sont aujourd'hui servies par
     `images.unsplash.com`, c'est-à-dire par un tiers, à chaque visite. En
     poser une ici rendrait FAUSSE la phrase que cette page doit écrire :
     « aucun contenu n'est chargé depuis un autre site ». Une politique de
     confidentialité qui se contredit dans son propre code est pire qu'une
     page sans image. Le générateur refuse toute URL externe, dans le JSON
     comme dans le CSS.

   · AUCUNE BANDE DE RESPIRATION, AUCUN COLLAGE. Les deux composants du socle
     sont des photographies. Ils tombent avec la règle ci-dessus. La
     respiration de cette page est typographique : elle vient des encadrés
     `psp-pc-cle`, des retours au sommaire et de l'alternance des fonds.

   · LES QUATRE COURBES ET LES DEUX HALOS RESTENT. Ils sont en CSS pur, aucun
     appel réseau. C'est ce qui garde la page dans la famille visuelle du site
     au lieu d'en faire une page administrative posée à côté.

   CE QUE LA PAGE DOIT RÉUSSIR, ET QUI N'EST PAS UNE QUESTION DE DÉCOR.
   Article 12 du RGPD : « concise, transparente, compréhensible et aisément
   accessible, en des termes clairs et simples ». La personne qui lit cette
   page hésite peut-être à contacter une psychologue. La mesure de lecture est
   donc tenue à 33em sur les paragraphes de corps, soit environ 65 caractères,
   contre 75 ailleurs sur le site : c'est un texte qu'on lit en entier, pas un
   chapô qu'on parcourt. Et le sommaire est ancré, pour qu'on puisse aller
   droit à la question qu'on se pose.
   ========================================================================= */

/* ---------------------------------------------------------- 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. Celles-ci diffèrent de
   Consultations, du Coin des Pros et d'Entreprises : sur une page de texte
   long, un motif qui se rejoue à l'identique de section en section se voit
   beaucoup plus que sur une page à images. */

.psp-pc-qui.psp-pc-qui::before { inset-block-start: -22%; inset-inline-end: auto; inset-inline-start: -14%; inline-size: 32vw; block-size: 32vw; }
.psp-pc-qui.psp-pc-qui::after  { inset-block-end: -26%; inset-inline-start: auto; inset-inline-end: -16%; inline-size: 26vw; block-size: 26vw; }

.psp-pc-coll.psp-pc-coll::before { inset-block-start: -30%; inset-inline-end: -14%; inline-size: 36vw; block-size: 36vw; }
.psp-pc-coll.psp-pc-coll::after  { inset-block-end: -12%; inset-inline-start: -22%; inline-size: 30vw; block-size: 30vw; }

.psp-pc-base.psp-pc-base::before { inset-block-start: -16%; inset-inline-end: auto; inset-inline-start: -6%; inline-size: 28vw; block-size: 28vw; }
.psp-pc-base.psp-pc-base::after  { inset-block-end: -34%; inset-inline-start: auto; inset-inline-end: -12%; inline-size: 34vw; block-size: 34vw; }

.psp-pc-duree.psp-pc-duree::before { inset-block-start: -26%; inset-inline-end: -18%; inline-size: 30vw; block-size: 30vw; }
.psp-pc-duree.psp-pc-duree::after  { inset-block-end: -20%; inset-inline-start: -10%; inline-size: 24vw; block-size: 24vw; }

.psp-pc-dest.psp-pc-dest::before { inset-block-start: -12%; inset-inline-end: auto; inset-inline-start: -18%; inline-size: 34vw; block-size: 34vw; }
.psp-pc-dest.psp-pc-dest::after  { inset-block-end: -28%; inset-inline-start: auto; inset-inline-end: -6%; inline-size: 28vw; block-size: 28vw; }

.psp-pc-nav.psp-pc-nav::before { inset-block-start: -34%; inset-inline-end: -8%; inline-size: 26vw; block-size: 26vw; }
.psp-pc-nav.psp-pc-nav::after  { inset-block-end: -18%; inset-inline-start: -16%; inline-size: 32vw; block-size: 32vw; }

.psp-pc-droits.psp-pc-droits::before { inset-block-start: -20%; inset-inline-end: auto; inset-inline-start: -10%; inline-size: 30vw; block-size: 30vw; }
.psp-pc-droits.psp-pc-droits::after  { inset-block-end: -30%; inset-inline-start: auto; inset-inline-end: -20%; inline-size: 36vw; block-size: 36vw; }

.psp-pc-fin.psp-pc-fin::before { inset-block-start: -24%; inset-inline-end: -20%; inline-size: 32vw; block-size: 32vw; }
.psp-pc-fin.psp-pc-fin::after  { inset-block-end: -22%; inset-inline-start: -12%; inline-size: 28vw; block-size: 28vw; }

/* Troisième halo, DEUX sur cette page. Posé sur les deux sections les plus
   longues à lire, celle qui énumère ce qui est collecté et celle qui énumère
   les droits. */
.psp-pc-coll-in.psp-pc-coll-in::before     { inset-block-start: 22%; inset-inline-start: 74%; }
.psp-pc-droits-in.psp-pc-droits-in::before { inset-block-start: 34%; inset-inline-start: 8%; }

/* ---------------------------------------------------------- 2. Hero sobre
   PAS `psp-hero` : cette classe du socle pose un voile et un motif de pluie
   PAR-DESSUS UNE PHOTOGRAPHIE. Sans photographie sous elle, elle assombrit un
   aplat déjà sombre pour rien. Le hero de cette page est un aplat marine, et
   il est court : une page légale ne se met pas en scène, elle se lit.

   Le rythme vertical suit malgré tout les écarts du §21, surtitre vers titre
   puis titre vers chapô : c'est ce que `recette-page.js` mesure, et il n'y a
   aucune raison de s'en écarter ici. */

.psp-pc-hero { overflow: clip; }

.psp-pc-hero-inner { position: relative; z-index: 2; }

/* La borne du H1 vient normalement du kit, `.psp-hero-titre
   .elementor-heading-title { max-inline-size: 15em }` (§27). Elle est
   resserrée ici parce que le titre de cette page est court : à 15em il
   flotterait au milieu d'une ligne vide. En `em`, jamais en px, pour que le
   nombre de lignes reste invariant de 375 à 2560 px. */
.psp-pc-hero-titre.psp-pc-hero-titre.psp-pc-hero-titre .elementor-heading-title {
  max-inline-size: 11em;
  font-family: var(--psp-titre, "Fraunces"), sans-serif;
}

/* RYTHME VERTICAL DU HERO, MESURÉ ET PAS SUPPOSÉ.
   `recette-page.js` accroche ses cinq écarts sur la classe `psp-hero` du
   socle. Cette section ne la porte pas, donc CES CINQ MESURES NE SONT PAS
   FAITES : le rapport sort « aucune alerte » sur un hero qu'il n'a pas
   regardé. C'est le défaut trouvé par la session Actualités, dans une autre
   zone : ce qui n'est pas scanné n'est pas recetté.
   Les écarts ont donc été mesurés à la main, à 1440 et à 375 px, et les
   marges ci-dessous en sont la conséquence. Premier relevé, avant correction :
   titre vers chapô 0 px, chapô vers version 0 px, norme du §21 [18, 40].
   Les trois blocs étaient collés, exactement le défaut du §20. */

.psp-pc-hero-titre { margin-block-end: 22px !important; }

.psp-pc-hero-chapo {
  margin-block-end: 20px !important;
  max-inline-size: 34em;
}

.psp-pc-hero-chapo p {
  margin: 0;
  line-height: 1.7;
  max-inline-size: 34em;
}

.psp-pc-version p {
  margin: 0;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ---------------------------------------------------------- 3. L'essentiel, panneau blanc à cheval
   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.

   POURQUOI CE BLOC EXISTE SUR CETTE PAGE. L'article 12 demande une
   information « concise ». Quatre lignes en tête donnent à qui n'a pas le
   temps de tout lire les quatre réponses qu'on vient chercher ici : est-ce
   qu'on me pose des cookies, combien de temps garde-t-on ce que j'écris, où
   part-il, est-ce que ça se revend. Le reste de la page les développe. */

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

.psp-pc-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-pc-reperes-grille > .e-con-inner,
.psp-pc-reperes-grille { align-items: stretch; }

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

.psp-pc-repere + .psp-pc-repere::before {
  content: "";
  position: absolute;
  inset-block: 4px;
  inset-inline-start: 0;
  inline-size: 1px;
  background: rgba(15, 37, 64, .1);
}

.psp-pc-repere-cle.psp-pc-repere-cle.psp-pc-repere-cle p {
  margin: 0 0 6px;
  font-family: var(--psp-titre, "Fraunces"), sans-serif;
  font-size: clamp(1.1875rem, 1.100rem + 0.38vw, 1.5rem);
  line-height: 1.2;
}

.psp-pc-repere-txt p {
  margin: 0;
  line-height: 1.55;
  font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
}

/* ---------------------------------------------------------- 4. Sommaire ancré
   Le §17 pose qu'un sommaire est justifié au-delà de six sections. Il y en a
   huit ici. Il est écrit en liste de liens dans un widget texte, et non en
   boutons : huit boutons feraient une page d'aiguillage, or c'est une page à
   lire du début à la fin, dont on veut seulement pouvoir sauter des parties. */

.psp-pc-somm { position: relative; }

.psp-pc-sommaire-liste ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 40px;
  counter-reset: psppc;
}

.psp-pc-sommaire-liste li {
  counter-increment: psppc;
  margin: 0;
  padding: 9px 0;
  border-block-end: 1px solid rgba(15, 37, 64, .09);
}

.psp-pc-sommaire-liste li::before {
  content: counter(psppc, decimal-leading-zero);
  display: inline-block;
  inline-size: 2.4em;
  color: var(--psp-sage-500);
  font-family: var(--psp-titre, "Fraunces"), sans-serif;
  font-size: .95em;
}

/* LE SOULIGNEMENT EST UN VRAI `text-decoration`, ET C'EST UNE CORRECTION,
   PAS UNE PRÉFÉRENCE. Mesuré le 7 août 2026 sur cette page.

   Le kit habille les liens de texte par un DÉGRADÉ DE FOND (`background-image:
   linear-gradient(currentColor, currentColor)` en `background-size: 100% 1px`)
   plutôt que par `text-decoration`. Or Elementor émet, en ligne dans chaque
   page :

     .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
     .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) *
     { background-image: none !important; }

   avec `n+3` sous 1024px de hauteur d'écran et `n+2` sous 640px. Le sélecteur
   descendant `*` emporte les liens : tant que l'observateur de chargement
   différé n'a pas posé `.e-lazyloaded` sur la section, LE SOULIGNEMENT
   N'EXISTE PAS, et le lien n'est plus distingué que par sa couleur. C'est un
   échec WCAG 1.4.1, et c'est invisible à la relecture du CSS puisque la règle
   qui l'annule n'est écrite ni dans le kit ni dans la page.

   `text-decoration` n'est atteint par aucune de ces règles. Sur une page qui
   ne porte AUCUNE image de fond, on ne perd rien à abandonner la technique du
   dégradé, et on gagne un soulignement qui ne dépend d'aucun observateur.

   RÉPÉTITION DE CLASSE, jusqu'à 0-4-1. Le kit écrit
   `.elementor-widget-text-editor a:not(.elementor-button)`, soit 0-2-1 : une
   règle de page à 0-1-1 est battue en silence, exactement comme les titres du
   §26.4bis. C'est le même piège, sur une autre propriété. */

.psp-pc-sommaire-liste.psp-pc-sommaire-liste.psp-pc-sommaire-liste a:not(.elementor-button) {
  color: var(--psp-navy-700);
  background-image: none;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  padding-block-end: 0;
  transition: text-decoration-thickness .2s var(--psp-ease), color .2s var(--psp-ease);
}

.psp-pc-sommaire-liste.psp-pc-sommaire-liste.psp-pc-sommaire-liste a:not(.elementor-button):hover,
.psp-pc-sommaire-liste.psp-pc-sommaire-liste.psp-pc-sommaire-liste a:not(.elementor-button):focus-visible {
  color: var(--psp-navy-900);
  text-decoration-thickness: 2px;
}

@media (max-width: 780px) {
  .psp-pc-sommaire-liste ol { grid-template-columns: minmax(0, 1fr); }
}

/* ---------------------------------------------------------- 5. Corps de texte long
   LA MESURE DE LECTURE EST LE SEUL VRAI ENJEU DE MISE EN PAGE DE CETTE PAGE.
   33em, soit environ 65 caractères, et non 75 comme ailleurs sur le site.
   En `em` et jamais en px (§24, §27) : 590px donne 72 caractères sur un corps
   de 18px et 92 sur un corps de 14px, donc une borne en pixels ment dès que
   la typographie fluide change le corps. */

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

.psp-pc-texte p:last-child { margin-block-end: 0; }

.psp-pc-texte ul,
.psp-pc-texte ol {
  margin: 0 0 16px;
  padding-inline-start: 0;
  list-style: none;
  max-inline-size: 32em;
}

.psp-pc-texte li {
  position: relative;
  margin: 0 0 9px;
  padding-inline-start: 22px;
  line-height: 1.65;
}

.psp-pc-texte li::before {
  content: "";
  position: absolute;
  inset-block-start: .62em;
  inset-inline-start: 0;
  inline-size: 8px;
  block-size: 8px;
  border-radius: 50%;
  background: var(--psp-sage-300);
}

.psp-pc-texte strong { font-weight: 600; color: var(--psp-navy-900); }

.psp-pc-titre.psp-pc-titre.psp-pc-titre .elementor-heading-title {
  font-family: var(--psp-titre, "Fraunces"), sans-serif;
  overflow-wrap: break-word;
}

.psp-pc-titre { margin-block-end: 14px !important; }

.psp-pc-sstitre.psp-pc-sstitre.psp-pc-sstitre .elementor-heading-title {
  font-family: var(--psp-titre, "Fraunces"), sans-serif;
  font-size: var(--psp-h4);
  line-height: 1.3;
}

.psp-pc-sstitre { margin-block-end: 8px !important; }

/* Retour au sommaire, en fin de chaque section longue. Discret, mais présent :
   sur une page de huit sections, la personne qui a trouvé sa réponse ne doit
   pas avoir à remonter à la main. */
.psp-pc-retour p {
  margin: 22px 0 0;
  font-size: .92em;
}

/* DÉFAUT RÉEL, TROUVÉ PAR LA RECETTE ET PAS À L'ŒIL : contraste 1,29 sur le
   « Revenir au sommaire » de la section finale. Cause exacte : le kit colore
   les liens de texte à 0-2-1
   (`.elementor-widget-text-editor a:not(.elementor-button)`, marine 700). Une
   règle de page à 0-1-1 comme `.psp-pc-retour--clair a` est battue EN
   SILENCE, et le lien sort donc en marine 700 sur un fond marine 800. Il est
   pratiquement invisible, et rien dans le CSS de page ne le laisse voir.
   Parade : répétition de classe jusqu'à 0-4-1, comme pour les titres. */

.psp-pc-retour.psp-pc-retour.psp-pc-retour a:not(.elementor-button) {
  color: var(--psp-muted);
  background-image: none;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.psp-pc-retour.psp-pc-retour.psp-pc-retour a:not(.elementor-button):hover,
.psp-pc-retour.psp-pc-retour.psp-pc-retour a:not(.elementor-button):focus-visible {
  color: var(--psp-navy-700);
  text-decoration-thickness: 2px;
}

.psp-pc-retour--clair.psp-pc-retour--clair.psp-pc-retour--clair a:not(.elementor-button) {
  color: var(--psp-sage-300);
}

.psp-pc-retour--clair.psp-pc-retour--clair.psp-pc-retour--clair a:not(.elementor-button):hover,
.psp-pc-retour--clair.psp-pc-retour--clair.psp-pc-retour--clair a:not(.elementor-button):focus-visible {
  color: #FFFFFF;
}

/* ---------------------------------------------------------- 6. Encadré de point clé
   Ce que la personne a le droit de ne pas rater : la durée de sept jours, la
   copie qui reste en messagerie, l'absence de cookies. Trois encadrés sur la
   page, pas plus : au quatrième, plus rien ne ressort. */

.psp-pc-cle {
  position: relative;
  background: #FFFFFF;
  border-radius: 18px;
  box-shadow: var(--psp-ombre);
  padding: 28px 30px 26px !important;
  margin-block-start: 10px !important;
  overflow: hidden;
}

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

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

.psp-pc-cle-texte p {
  margin: 0 0 12px;
  line-height: 1.72;
  max-inline-size: 31em;
}

.psp-pc-cle-texte p:last-child { margin-block-end: 0; }

/* ---------------------------------------------------------- 7. Panneaux
   Composant repris de Qui suis-je (§20) et de Prendre rendez-vous (§24) sans
   le modifier : bloc de texte sur fond blanc, barre de couleur en tête, pas de
   photographie. Il porte ici les DEUX profils du formulaire, particulier et
   professionnel, qui ne collectent pas les mêmes champs. Les mettre côte à
   côte est ce qui rend la différence lisible d'un coup d'œil, là où deux
   paragraphes successifs obligeraient à comparer de mémoire. */

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

.psp-pc-panneaux > .e-con-inner,
.psp-pc-panneaux { align-items: stretch; }

.psp-pc-panneau {
  position: relative;
  background: #FFFFFF;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--psp-ombre);
  transition: transform .3s var(--psp-ease), box-shadow .3s var(--psp-ease);
  padding: 34px 32px 30px !important;
}

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

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

.psp-pc-panneau--rose::before { background: var(--psp-rose-700); }

.psp-pc-panneau-titre.psp-pc-panneau-titre.psp-pc-panneau-titre .elementor-heading-title {
  font-family: var(--psp-titre, "Fraunces"), sans-serif;
  font-size: var(--psp-h5);
  line-height: 1.28;
  overflow-wrap: break-word;
}

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

.psp-pc-panneau-liste ul {
  margin: 0;
  padding-inline-start: 0;
  list-style: none;
}

.psp-pc-panneau-liste li {
  position: relative;
  margin: 0 0 7px;
  padding-inline-start: 18px;
  line-height: 1.55;
  font-size: .96em;
}

.psp-pc-panneau-liste li::before {
  content: "";
  position: absolute;
  inset-block-start: .58em;
  inset-inline-start: 0;
  inline-size: 6px;
  block-size: 6px;
  border-radius: 50%;
  background: var(--psp-sage-500);
}

.psp-pc-panneau--rose .psp-pc-panneau-liste li::before { background: var(--psp-rose-500); }

/* ---------------------------------------------------------- 8. Bornes de mise en page
   Les seules largeurs en pixels de ce fichier, et elles ne bornent AUCUNE
   mesure de lecture : ce sont des largeurs de colonne. La liste est reprise
   telle quelle dans le générateur, pour qu'on ne puisse pas en ajouter une
   par distraction (§24). */

/* DEFAUT REEL, TROUVE PAR TOUFIK ET PAS PAR LA RECETTE : toute la page etait
   collee a gauche. Mesure a 2560 px avant correction, sur les cinq containers
   interieurs : marge de gauche 24 px, marge de droite 1396 px,
   `margin-inline` calcule a `0px / 0px`.

   CAUSE. `max-inline-size` BORNE une largeur, il ne CENTRE rien. Le socle
   centre par `.psp-hero-inner > .e-con-inner { margin-inline: auto }` : cette
   page ayant ses propres noms de classes, elle n'heritait de rien. Les
   containers `boxed` d'Elementor centrent bien leur `.e-con-inner`, mais a
   l'interieur d'une boite de 1140 px elle-meme collee a gauche.

   POURQUOI LA RECETTE NE L'A PAS VU. `recette-page.js` mesure le debordement,
   la mesure de lecture, les contrastes et les ecarts verticaux. Il ne mesure
   pas le centrage horizontal. Et a 1512 px il ne restait que 348 px de vide a
   droite, ce qui se lit comme une composition en colonne. C'est le §7 de
   PSP-SYSTEME-FORMES paye une fois de plus : l'outil evite de regarder la page
   pour rien, il n'evite pas de la regarder, et pas seulement a la largeur de
   l'ecran de travail. */

.psp-pc-hero-inner,
.psp-pc-somm-inner,
.psp-pc-qui-inner,
.psp-pc-coll-in,
.psp-pc-base-inner,
.psp-pc-duree-inner,
.psp-pc-dest-inner,
.psp-pc-nav-inner,
.psp-pc-droits-in,
.psp-pc-fin-inner {
  max-inline-size: 1140px;
  margin-inline: auto !important;
}

/* ---------------------------------------------------------- 9. Section finale sombre */

.psp-pc-fin-titre.psp-pc-fin-titre.psp-pc-fin-titre .elementor-heading-title {
  font-family: var(--psp-titre, "Fraunces"), sans-serif;
}

.psp-pc-fin .psp-pc-texte p,
.psp-pc-fin .psp-pc-texte li { color: #DDE7DA; }
.psp-pc-fin .psp-pc-texte strong { color: #FFFFFF; }
.psp-pc-fin .psp-pc-texte li::before { background: var(--psp-sage-300); }

.psp-pc-fin-actions { margin-block-start: 8px !important; }

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

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

.psp-bouton--clair.psp-bouton--clair.psp-bouton--clair .elementor-button,
.psp-bouton--clair.psp-bouton--clair.psp-bouton--clair .elementor-button svg {
  fill: var(--psp-navy-900);
}

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

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

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

/* §27.3, point 4 : `align-self` du WIDGET bat `align-items` du CONTAINER. */
.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;
  align-self: center;
  align-items: center;
}

/* ---------------------------------------------------------- 11. Liens dans le corps
   Le kit habille déjà `.psp-texte a`. Cette page reprend le même traitement
   sur sa propre classe de corps, avec un état de focus visible : c'est la
   page qu'on consulte pour exercer un droit, donc celle qui se parcourt au
   clavier le plus souvent. */

.psp-pc-texte.psp-pc-texte.psp-pc-texte a:not(.elementor-button) {
  color: var(--psp-navy-700);
  background-image: none;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  padding-block-end: 0;
}

.psp-pc-texte.psp-pc-texte.psp-pc-texte a:not(.elementor-button):hover,
.psp-pc-texte.psp-pc-texte.psp-pc-texte a:not(.elementor-button):focus-visible {
  color: var(--psp-rose-700);
  text-decoration-thickness: 2px;
}

.psp-pc-fin.psp-pc-fin .psp-pc-texte.psp-pc-texte a:not(.elementor-button) { color: var(--psp-sage-300); }
.psp-pc-fin.psp-pc-fin .psp-pc-texte.psp-pc-texte a:not(.elementor-button):hover,
.psp-pc-fin.psp-pc-fin .psp-pc-texte.psp-pc-texte a:not(.elementor-button):focus-visible { color: #FFFFFF; }

/* ---------------------------------------------------------- 12. Cible d'ancre
   Une ancre qui amène le titre SOUS l'en-tête collant est une ancre qui ne
   marche pas. L'en-tête fait 96px au repos et 68px une fois défilé (§16) :
   la marge de défilement prend la plus grande des deux, plus une respiration.
   Sans cette règle, huit ancres sur huit atterrissent derrière l'en-tête. */

.psp-section[id] { scroll-margin-block-start: 118px; }

@media (max-width: 767px) {
  .psp-section[id] { scroll-margin-block-start: 86px; }
}

/* ---------------------------------------------------------- 13. Mobile */

@media (max-width: 1024px) {
  .psp-pc-reperes-grille > .e-con-inner { flex-wrap: wrap !important; }
  .psp-pc-repere { flex: 1 1 44% !important; padding: 14px 22px !important; }
  .psp-pc-repere + .psp-pc-repere::before { display: none; }
}

@media (max-width: 780px) {
  .psp-pc-panneaux > .psp-pc-panneau,
  .psp-pc-panneaux > .e-con-inner > .psp-pc-panneau { flex: 1 1 100% !important; }
  .psp-pc-panneau { padding: 28px 24px 26px !important; }
}

@media (max-width: 767px) {
  .psp-pc-reperes { margin-block-start: -64px !important; padding-block-end: 72px !important; }
  .psp-pc-reperes-grille > .e-con-inner { padding: 28px 10px !important; }
  .psp-pc-repere { flex: 1 1 100% !important; }
  .psp-pc-cle { padding: 24px 22px 22px !important; }
  .psp-bouton--clair.psp-bouton--clair.psp-bouton--clair,
  .psp-bouton--clair.psp-bouton--clair.psp-bouton--clair .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--secondaire.psp-bouton--secondaire.psp-bouton--secondaire .elementor-button { justify-content: center; }
}

/* ---------------------------------------------------------- 14. Rythme interne des sections
   MESURÉ, PAS ESTIMÉ. Les containers de section sont en `flex_gap: 0` : sans
   ces marges, les blocs se touchent. Premier relevé à 1440 px, écarts entre
   widgets successifs, avant correction :

     texte → panneaux    0 px
     panneaux → sstitre  0 px
     texte → sstitre     0 px
     encadré → texte     0 px
     texte → titre final 0 px

   C'est le défaut du §20, « les groupes sont collés », que l'œil traduit en
   « ça manque de hauteur » et qu'on corrige alors au mauvais endroit. Les
   valeurs ci-dessous sont posées puis re-mesurées. */

.psp-pc-panneaux { margin-block-start: 24px !important; }

.psp-pc-sstitre {
  margin-block-start: 32px !important;
  margin-block-end: 10px !important;
}

.psp-pc-cle { margin-block: 22px !important; }

.psp-pc-fin-titre { margin-block-end: 16px !important; }
.psp-pc-fin-relance { margin-block-start: 48px !important; }

@media (max-width: 767px) {
  .psp-pc-panneaux { margin-block-start: 20px !important; }
  .psp-pc-sstitre { margin-block-start: 26px !important; }
  .psp-pc-cle { margin-block: 18px !important; }
  .psp-pc-fin-relance { margin-block-start: 38px !important; }
}

/* ---------------------------------------------------------- 15. Mouvement réduit
   Le socle neutralise déjà halos, courbes et micro-interactions. Il reste les
   deux transitions écrites ici. */

@media (prefers-reduced-motion: reduce) {
  .psp-pc-panneau:hover { transform: none; }
  .psp-pc-sommaire-liste a { transition: none; }
}/* End custom CSS */