.elementor-46 .elementor-element.elementor-element-74e4b9f2{--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;--padding-top:0px;--padding-bottom:60px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-52cf028f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-end;--gap:64px 64px;--row-gap:64px;--column-gap:64px;--flex-wrap:wrap;}.elementor-46 .elementor-element.elementor-element-1c4f9f2c{--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-46 .elementor-element.elementor-element-1c4f9f2c.e-con{--flex-grow:0;--flex-shrink:1;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-46 .elementor-element.elementor-element-28f94eab{--spacer-size:36px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-46 .elementor-element.elementor-element-1feaef81{--spacer-size:44px;}.elementor-46 .elementor-element.elementor-element-6af720f9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--flex-wrap:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-46 .elementor-element.elementor-element-1b10fe83 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-46 .elementor-element.elementor-element-1b10fe83 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-46 .elementor-element.elementor-element-6be1f776{--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-46 .elementor-element.elementor-element-6be1f776.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-55865c15{--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;--padding-top:120px;--padding-bottom:40px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-69276607{--spacer-size:20px;}.elementor-46 .elementor-element.elementor-element-3c04ef00{--spacer-size:56px;}.elementor-46 .elementor-element.elementor-element-2cb09ffd{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:64px 64px;--row-gap:64px;--column-gap:64px;--flex-wrap:wrap;}.elementor-46 .elementor-element.elementor-element-c8ea88e{--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;--padding-top:80px;--padding-bottom:120px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-6224770c{--spacer-size:20px;}.elementor-46 .elementor-element.elementor-element-315aaa69{--spacer-size:80px;}.elementor-46 .elementor-element.elementor-element-25ceb2ec{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--flex-wrap:wrap;--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-649d679b{--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-46 .elementor-element.elementor-element-649d679b.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-1db70c44{--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-46 .elementor-element.elementor-element-1db70c44.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-251066f6{--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-46 .elementor-element.elementor-element-251066f6.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-5ac27fa{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--flex-wrap:wrap;--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-1e0f44d{--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-46 .elementor-element.elementor-element-1e0f44d.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-33c93e57{--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-46 .elementor-element.elementor-element-33c93e57.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-5fccb0ae{--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-46 .elementor-element.elementor-element-5fccb0ae.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-3b1e73a8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--flex-wrap:wrap;--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-60cc34d0{--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-46 .elementor-element.elementor-element-60cc34d0.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-6a4ce589{--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-46 .elementor-element.elementor-element-6a4ce589.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-3373b2c5{--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-46 .elementor-element.elementor-element-3373b2c5.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-4121a1bb{--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;--padding-top:0px;--padding-bottom:120px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-5adbc56e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-end;--gap:64px 64px;--row-gap:64px;--column-gap:64px;--flex-wrap:wrap;--padding-top:120px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-49d14fbd{--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-46 .elementor-element.elementor-element-49d14fbd.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-5c119cbe{--spacer-size:16px;}.elementor-46 .elementor-element.elementor-element-2fda126f{--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-46 .elementor-element.elementor-element-2fda126f.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-11bd7d61{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:56px 56px;--row-gap:56px;--column-gap:56px;--flex-wrap:wrap;--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-24e0a9b8{--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-46 .elementor-element.elementor-element-24e0a9b8.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-4120c43b{--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-46 .elementor-element.elementor-element-4120c43b.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-25dc7b9e{--spacer-size:14px;}.elementor-46 .elementor-element.elementor-element-ea4dada{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:56px 56px;--row-gap:56px;--column-gap:56px;--flex-wrap:wrap;--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-709d811f{--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-46 .elementor-element.elementor-element-709d811f.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-550dcca7{--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-46 .elementor-element.elementor-element-550dcca7.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-18859495{--spacer-size:14px;}.elementor-46 .elementor-element.elementor-element-323bfcd5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:56px 56px;--row-gap:56px;--column-gap:56px;--flex-wrap:wrap;--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-49e4eec0{--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-46 .elementor-element.elementor-element-49e4eec0.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-734c08eb{--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-46 .elementor-element.elementor-element-734c08eb.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-1ffd4a2f{--spacer-size:14px;}.elementor-46 .elementor-element.elementor-element-7a83d3d6{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:56px 56px;--row-gap:56px;--column-gap:56px;--flex-wrap:wrap;--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-37140056{--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-46 .elementor-element.elementor-element-37140056.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-1050e2ac{--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-46 .elementor-element.elementor-element-1050e2ac.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-6f1e1f86{--spacer-size:14px;}.elementor-46 .elementor-element.elementor-element-6f89e39b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:56px 56px;--row-gap:56px;--column-gap:56px;--flex-wrap:wrap;--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-2d466a5f{--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-46 .elementor-element.elementor-element-2d466a5f.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-66980615{--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-46 .elementor-element.elementor-element-66980615.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-486dd650{--spacer-size:14px;}.elementor-46 .elementor-element.elementor-element-7640239e{--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;--padding-top:22px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-2f706227 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-46 .elementor-element.elementor-element-2f706227 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-46 .elementor-element.elementor-element-bdefea{--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;--padding-top:100px;--padding-bottom:140px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-707182c2{--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-46 .elementor-element.elementor-element-4df750f1{--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;--padding-top:56px;--padding-bottom:52px;--padding-left:64px;--padding-right:64px;}.elementor-46 .elementor-element.elementor-element-719c525{--spacer-size:22px;}.elementor-46 .elementor-element.elementor-element-5801a8c{--spacer-size:36px;}.elementor-46 .elementor-element.elementor-element-72ab9567{--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:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--flex-wrap:wrap;--padding-top:28px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-4fd0a089 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-46 .elementor-element.elementor-element-4fd0a089 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-46 .elementor-element.elementor-element-9d2642d{--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;--padding-top:110px;--padding-bottom:110px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-3cfee2d7{--spacer-size:20px;}.elementor-46 .elementor-element.elementor-element-1aa4c4e0{--spacer-size:80px;}.elementor-46 .elementor-element.elementor-element-563b4767{--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;--padding-top:120px;--padding-bottom:120px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-212f9605{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-end;--gap:64px 64px;--row-gap:64px;--column-gap:64px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-46 .elementor-element.elementor-element-1489bbfc{--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-46 .elementor-element.elementor-element-1489bbfc.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-26beacff{--spacer-size:16px;}.elementor-46 .elementor-element.elementor-element-6d373ae{--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-46 .elementor-element.elementor-element-6d373ae.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-3f659edc{--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;--padding-top:120px;--padding-bottom:120px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-1803d0d6{--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:center;--gap:80px 80px;--row-gap:80px;--column-gap:80px;--flex-wrap:wrap;}.elementor-46 .elementor-element.elementor-element-1004a52{--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-46 .elementor-element.elementor-element-1004a52.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-54888533{--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-46 .elementor-element.elementor-element-54888533.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-3c1dcb30{--spacer-size:20px;}.elementor-46 .elementor-element.elementor-element-2c291cf2{--spacer-size:36px;}.elementor-46 .elementor-element.elementor-element-01067a9{--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;--padding-top:0px;--padding-bottom:120px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-17a05941{--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;--padding-top:140px;--padding-bottom:120px;--padding-left:32px;--padding-right:32px;}.elementor-46 .elementor-element.elementor-element-206a2260{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:80px 80px;--row-gap:80px;--column-gap:80px;--flex-wrap:wrap;}.elementor-46 .elementor-element.elementor-element-2f42ec2{--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-46 .elementor-element.elementor-element-2f42ec2.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-46 .elementor-element.elementor-element-7a04e46c{--spacer-size:20px;}.elementor-46 .elementor-element.elementor-element-50edce01{--spacer-size:28px;}.elementor-46 .elementor-element.elementor-element-7faba674{--spacer-size:36px;}.elementor-46 .elementor-element.elementor-element-76626de3{--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-46 .elementor-element.elementor-element-76626de3.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-46 .elementor-element.elementor-element-d588872 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-46 .elementor-element.elementor-element-d588872 .elementor-button .elementor-button-content-wrapper{gap:10px;}@media(min-width:768px){.elementor-46 .elementor-element.elementor-element-74e4b9f2{--content-width:1240px;}.elementor-46 .elementor-element.elementor-element-1c4f9f2c{--width:57%;}.elementor-46 .elementor-element.elementor-element-6be1f776{--width:38%;}.elementor-46 .elementor-element.elementor-element-55865c15{--content-width:960px;}.elementor-46 .elementor-element.elementor-element-c8ea88e{--content-width:1240px;}.elementor-46 .elementor-element.elementor-element-649d679b{--width:120px;}.elementor-46 .elementor-element.elementor-element-1db70c44{--width:34%;}.elementor-46 .elementor-element.elementor-element-1e0f44d{--width:120px;}.elementor-46 .elementor-element.elementor-element-33c93e57{--width:34%;}.elementor-46 .elementor-element.elementor-element-60cc34d0{--width:120px;}.elementor-46 .elementor-element.elementor-element-6a4ce589{--width:34%;}.elementor-46 .elementor-element.elementor-element-4121a1bb{--content-width:1240px;}.elementor-46 .elementor-element.elementor-element-49d14fbd{--width:44%;}.elementor-46 .elementor-element.elementor-element-24e0a9b8{--width:45%;}.elementor-46 .elementor-element.elementor-element-709d811f{--width:45%;}.elementor-46 .elementor-element.elementor-element-49e4eec0{--width:45%;}.elementor-46 .elementor-element.elementor-element-37140056{--width:45%;}.elementor-46 .elementor-element.elementor-element-2d466a5f{--width:45%;}.elementor-46 .elementor-element.elementor-element-bdefea{--content-width:1240px;}.elementor-46 .elementor-element.elementor-element-9d2642d{--content-width:1240px;}.elementor-46 .elementor-element.elementor-element-563b4767{--content-width:1240px;}.elementor-46 .elementor-element.elementor-element-1489bbfc{--width:44%;}.elementor-46 .elementor-element.elementor-element-3f659edc{--content-width:1240px;}.elementor-46 .elementor-element.elementor-element-1004a52{--width:40%;}.elementor-46 .elementor-element.elementor-element-01067a9{--content-width:1240px;}.elementor-46 .elementor-element.elementor-element-17a05941{--content-width:1240px;}.elementor-46 .elementor-element.elementor-element-76626de3{--width:42%;}}/* Start custom CSS *//* ═══════════════════════════════════════════════════════════════
   Ajustes de maquetación — portada
   1) Etiquetas de los sistemas: estaban en posición absoluta y se
      montaban unas sobre otras dentro de un contenedor de alto 0.
   2) Ritmo vertical uniforme: menos hueco vacío y siempre el mismo.
   ═══════════════════════════════════════════════════════════════ */

/* 1 · Etiquetas */
.cm-tags{display:flex!important;flex-wrap:wrap!important;gap:8px!important;
  height:auto!important;min-height:0!important;position:relative!important;
  align-items:flex-start}
.cm-tags .cm-tag{position:static!important;inset:auto!important;
  transform:none!important;margin:0!important;white-space:nowrap}

/* 2 · Ritmo vertical */
@media (min-width:1025px){
  .cm-hero{padding-top:56px!important;padding-bottom:40px!important}
  .cm-hero > .e-con-inner{padding-bottom:32px!important}
  .cm-logos > .e-con-inner{padding-top:28px!important;padding-bottom:28px!important}
  .cm-manifesto > .e-con-inner{padding-top:64px!important;padding-bottom:32px!important}
  .cm-rules > .e-con-inner{padding-top:56px!important;padding-bottom:64px!important}
  .cm-services > .e-con-inner{padding-bottom:64px!important}
  .cm-course > .e-con-inner{padding-top:56px!important;padding-bottom:56px!important}
  .cm-numbers > .e-con-inner{padding-top:64px!important;padding-bottom:64px!important}
  .cm-testimonials > .e-con-inner{padding-top:64px!important;padding-bottom:64px!important}
  .cm-philosophy > .e-con-inner{padding-top:64px!important;padding-bottom:64px!important}
  .cm-cta > .e-con-inner{padding-top:56px!important;padding-bottom:56px!important}
  .cm-footer > .e-con-inner{padding-top:48px!important;padding-bottom:32px!important}
}
@media (min-width:768px) and (max-width:1024px){
  .cm-hero{padding-top:44px!important;padding-bottom:32px!important}
  .cm-hero > .e-con-inner{padding-bottom:24px!important}
  .cm-manifesto > .e-con-inner,.cm-rules > .e-con-inner,.cm-services > .e-con-inner,
  .cm-course > .e-con-inner,.cm-numbers > .e-con-inner,.cm-testimonials > .e-con-inner,
  .cm-philosophy > .e-con-inner,.cm-cta > .e-con-inner{
    padding-top:48px!important;padding-bottom:48px!important}
  .cm-footer > .e-con-inner{padding-top:40px!important;padding-bottom:28px!important}
}
@media (max-width:767px){
  .cm-hero{padding-top:32px!important;padding-bottom:24px!important}
  .cm-hero > .e-con-inner{padding-bottom:16px!important}
  .cm-manifesto > .e-con-inner,.cm-rules > .e-con-inner,.cm-services > .e-con-inner,
  .cm-course > .e-con-inner,.cm-numbers > .e-con-inner,.cm-testimonials > .e-con-inner,
  .cm-philosophy > .e-con-inner,.cm-cta > .e-con-inner{
    padding-top:36px!important;padding-bottom:36px!important}
  .cm-footer > .e-con-inner{padding-top:32px!important;padding-bottom:24px!important}
}


/* 3 · Responsive: rejillas que no se plegaban en móvil y tableta */
@media (max-width:1024px){
  .elementor div:has(> .cm-t-card){grid-template-columns:minmax(0,1fr)!important}
}
@media (max-width:767px){
  .elementor div:has(> .cm-logo-slot){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 10px!important}
  .elementor div:has(> .cm-num){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 12px!important}
  .elementor .cm-t-meta{flex-wrap:wrap!important;row-gap:4px!important}
  .elementor [class^="cm-"],.elementor [class*=" cm-"]{min-width:0}
}

/* 4 · Menú en móvil: los enlaces estaban ocultos y no había botón de menú.
      Ahora: marca + CTA en una línea y los enlaces en una fila compacta
      con desplazamiento lateral, sin robarle altura a la pantalla. */
@media (max-width:767px){
  .cm-nav .e-con-full{flex-wrap:wrap!important;align-items:center!important;
    row-gap:2px!important;padding-top:8px!important;padding-bottom:8px!important}
  .cm-nav .e-con-full > div:nth-child(2){order:3;flex:0 0 100%!important;max-width:100%!important}
  .cm-nav .e-con-full > div:nth-child(3){margin-left:auto}
  .cm-nav .cm-nav-links{display:flex!important;flex-wrap:nowrap;overflow-x:auto;
    gap:18px;width:100%;margin:0;font-size:13px;
    scrollbar-width:none;-ms-overflow-style:none}
  .cm-nav .cm-nav-links::-webkit-scrollbar{display:none}
  .cm-nav .cm-nav-links a{padding:4px 0;display:inline-block;white-space:nowrap}
  .cm-footer a{display:inline-block;padding:6px 0}
}


/* 5 · Sectores en dos filas de tres */
@media (min-width:768px){
  .elementor div:has(> .cm-logo-slot){grid-template-columns:repeat(3,minmax(0,1fr))!important;
    justify-items:center;row-gap:22px!important;column-gap:24px!important}
}

/* 6 · Móvil: titulares a escala y menos aire entre bloques */
@media (max-width:767px){
  .elementor h1{font-size:36px!important;line-height:1.08!important}
  .elementor h2{font-size:27px!important;line-height:1.16!important}
  .elementor h3{font-size:20px!important;line-height:1.22!important}
  .cm-course-card > *{width:100%!important;max-width:100%!important;flex-basis:auto!important}
  .cm-course-card{padding:28px 22px!important}
  .cm-rule-row{padding-top:30px!important;padding-bottom:30px!important}
  .cm-service{padding-top:32px!important;padding-bottom:32px!important}
  .cm-manifesto > .e-con-inner,.cm-rules > .e-con-inner,.cm-services > .e-con-inner,
  .cm-course > .e-con-inner,.cm-numbers > .e-con-inner,.cm-testimonials > .e-con-inner,
  .cm-philosophy > .e-con-inner,.cm-cta > .e-con-inner{
    padding-top:28px!important;padding-bottom:28px!important}
  .cm-hero .e-con-full,.cm-manifesto .e-con-full,.cm-services .e-con-full,
  .cm-testimonials .e-con-full,.cm-philosophy .e-con-full,.cm-cta .e-con-full{row-gap:26px!important}
  .cm-rule-row .e-con-full,.cm-service .e-con-full{row-gap:22px!important}
}


/* 7 · Sectores: bloque centrado para que las dos filas queden encajadas */
@media (min-width:768px){
  .elementor div:has(> .cm-logo-slot){max-width:640px!important;
    margin-left:auto!important;margin-right:auto!important;column-gap:20px!important}
}


/* 8 · Menú de móvil con botón de hamburguesa (sin JavaScript) */
@media (min-width:768px){
  .cm-burger,.cm-burger-chk{display:none!important}
}
@media (max-width:767px){
  .cm-nav .e-con-inner,.cm-nav .e-con-full{position:relative}

  /* fila: marca · hamburguesa · CTA */
  .cm-nav .e-con-full > div:nth-child(1){order:1}
  .cm-nav .e-con-full > div:nth-child(2){order:3!important;flex:0 0 auto!important;
    max-width:none!important;width:auto!important;margin-left:6px}
  .cm-nav .e-con-full > div:nth-child(3){order:2;margin-left:auto}

  .cm-burger-chk{position:absolute!important;opacity:0;width:1px;height:1px;overflow:hidden}
  .cm-burger{display:flex!important;flex-direction:column;justify-content:center;
    gap:5px;width:40px;height:40px;cursor:pointer;align-items:center}
  .cm-burger span{display:block;width:22px;height:2px;background:currentColor;
    transition:transform .22s ease,opacity .18s ease}
  .cm-burger-chk:checked + .cm-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .cm-burger-chk:checked + .cm-burger span:nth-child(2){opacity:0}
  .cm-burger-chk:checked + .cm-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* panel desplegable */
  .cm-nav .cm-nav-links{display:none!important}
  .cm-burger-chk:checked ~ .cm-nav-links{
    display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;
    overflow:visible!important;position:absolute;top:calc(100% + 8px);left:-20px;right:-20px;
    width:auto!important;margin:0!important;padding:4px 20px 8px;gap:0!important;
    background:#faf7f2;border-top:1px solid rgba(11,24,28,.08);
    box-shadow:0 14px 28px rgba(11,24,28,.08);z-index:60}
  .cm-burger-chk:checked ~ .cm-nav-links a{
    padding:13px 0!important;font-size:15px;border-bottom:1px solid rgba(11,24,28,.07)}
  .cm-burger-chk:checked ~ .cm-nav-links a:last-child{border-bottom:0}
}


/* 9 · El panel del menú debe medirse contra la barra, no contra el widget */
@media (max-width:767px){
  .cm-nav .e-con-full > div:nth-child(2),
  .cm-nav .e-con-full > div:nth-child(2) .elementor-widget-container{position:static!important}
}

/* ═══════════════════════════════════════════════════════════════
   PENDIENTE DE APLICAR — pegar al final del CSS personalizado
   de la portada (Elementor → ajustes de la página → Avanzado)
   ═══════════════════════════════════════════════════════════════ */

/* 10 · Botón de auditoría: solo en escritorio */
@media (max-width:767px){
  .cm-nav .elementor-element-303cbc90{display:none!important}
  /* la hamburguesa pasa al extremo derecho de la barra */
  .cm-nav .e-con-full > div:nth-child(2){margin-left:auto!important}
}

/* 11 · Titulares en móvil: que no se salgan ni se solapen */
@media (max-width:767px){
  .elementor h1,.elementor h2,.elementor h3{
    overflow-wrap:break-word;      /* una palabra larga se parte en vez de salirse */
    word-break:normal;
    hyphens:auto;                  /* guiones automáticos en español */
    text-wrap:balance;             /* reparte las líneas en lugar de dejar huérfanas */
    max-width:100%;
    padding-right:2px               /* margen de cortesía para tildes y cursivas */
  }
  /* las cursivas de Fraunces sobresalen por la derecha */
  .elementor h1 em,.elementor h2 em,.elementor h3 em,
  .elementor h1 i,.elementor h2 i,.elementor h3 i{padding-right:.06em}

  /* interlineado y aire con el texto de debajo */
  .elementor h1{line-height:1.1!important;margin-bottom:14px!important}
  .elementor h2{line-height:1.2!important;margin-bottom:12px!important}
  .elementor h3{line-height:1.28!important;margin-bottom:8px!important}
  .elementor h1 + *,.elementor h2 + *,.elementor h3 + *{margin-top:0!important}

  /* nada de solapes por posicionamiento heredado del escritorio */
  .elementor [class*="cm-"] h1,.elementor [class*="cm-"] h2,
  .elementor [class*="cm-"] h3{position:static!important}
}


/* 12 · Logo en la cabecera
   El PNG es un cuadrado de 1254×1254 con el logo en una banda central
   (x 54, y 408, 1152×410). Se recorta con la ventana de abajo, sin
   tocar el archivo original. El PNG ya tiene fondo transparente. */
.cm-nav .cm-logo{
  --h:36px;
  display:block;
  height:var(--h);
  width:calc(var(--h) * 2.8102);   /* 1152 / 410 */
  overflow:hidden;
  position:relative;
  flex:0 0 auto;
}
.cm-nav .cm-logo img{
  position:absolute;
  max-width:none;
  width:calc(var(--h) * 3.0585);   /* 1254 / 410 */
  height:auto;
  left:calc(var(--h) * -0.1317);   /*   54 / 410 */
  top:calc(var(--h) * -0.9951);    /*  408 / 410 */
  display:block;
}
@media (max-width:767px){
  .cm-nav .cm-logo{--h:30px}
}


/* 13 · Logo en el pie */
.cm-footer .cm-logo--pie{
  --h:38px;
  display:block;
  height:var(--h);
  width:calc(var(--h) * 2.8102);
  overflow:hidden;
  position:relative;
  margin:0 0 10px;
}
.cm-footer .cm-logo--pie img{
  position:absolute;
  max-width:none;
  width:calc(var(--h) * 3.0585);
  height:auto;
  left:calc(var(--h) * -0.1317);
  top:calc(var(--h) * -0.9951);
  display:block;
}
@media (max-width:767px){
  .cm-footer .cm-logo--pie{--h:32px}
}


/* 14 · Separación entre párrafos
   Estaban a 30 px con un cuerpo de 17 px (1,76 em): demasiado aire,
   los bloques de texto se leían como frases sueltas. A 22 px (1,29 em)
   el párrafo se lee como una unidad y la sección respira igual. */
.elementor p{margin-bottom:22px}
.elementor p:last-child{margin-bottom:0}
@media (max-width:767px){
  .elementor p{margin-bottom:18px}
}


/* 15 · Menos margen lateral: la caja de contenido pasa de 1240 a 1400 px
   en pantallas grandes. El bloque de manifiesto («El sistema») se queda
   más estrecho a propósito: es texto corrido y a 1400 px la línea sería
   demasiado larga para leer con comodidad. */
@media (min-width:1025px){
  .elementor > .e-con.e-con-boxed > .e-con-inner{max-width:min(1400px, 100%)}
  .cm-manifesto > .e-con-inner{max-width:min(1040px, 100%)}
}
@media (min-width:768px) and (max-width:1024px){
  .elementor > .e-con{padding-left:24px!important;padding-right:24px!important}
}
@media (max-width:767px){
  .elementor > .e-con{padding-left:20px!important;padding-right:20px!important}
}


/* 15b · El manifiesto vuelve a su medida de lectura (la regla anterior
   tenía menos peso que la general y no llegaba a aplicarse). */
@media (min-width:1025px){
  .elementor > .cm-manifesto.e-con-boxed > .e-con-inner{max-width:min(1060px, 100%)}
}






/* ═══════════════════════════════════════════════════════════════
   19 · Preguntas frecuentes (SEO + GEO)
   Respuestas autocontenidas: cada una se entiende sin leer el
   resto de la página, que es lo que citan los asistentes de IA.
   ═══════════════════════════════════════════════════════════════ */
.cm-faq{max-width:1180px;margin:0 auto;padding:0}
.cm-faq__kicker{
  margin:0 0 14px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:var(--cm-accent,#005b60)
}
.cm-faq__title{
  font-family:var(--cm-serif,'Instrument Serif',Georgia,serif);
  font-weight:400;line-height:1.02;margin:0 0 44px;
  font-size:clamp(34px,4.4vw,58px);color:var(--cm-ink,#0b181c)
}
.cm-faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 56px}
.cm-faq__item{border-top:1px solid var(--cm-line,#dbd7cd);padding-top:20px}
.cm-faq__item h3{
  margin:0 0 10px;font-size:18px;line-height:1.3;font-weight:600;
  color:var(--cm-ink,#0b181c);font-family:var(--cm-sans,'Manrope',sans-serif)
}
.cm-faq__item p{
  margin:0;font-size:15.5px;line-height:1.62;color:var(--cm-ink-2,#415055)
}
@media (max-width:900px){
  .cm-faq__grid{grid-template-columns:1fr;gap:26px}
  .cm-faq__title{margin-bottom:32px}
  .cm-faq__item h3{font-size:17px}
  .cm-faq__item p{font-size:15px}
}

/* 19b · Los h3 de las FAQ heredaban el estilo serif de los títulos de sección. */
.cm-faq .cm-faq__item h3{font-family:var(--cm-sans,'Manrope',sans-serif)!important;font-size:18px!important;line-height:1.35!important;font-weight:600!important;letter-spacing:0!important;margin:0 0 12px!important;color:var(--cm-ink,#0b181c)!important;text-transform:none!important}
.cm-faq .cm-faq__item p{margin:0!important;font-size:15.5px!important;line-height:1.62!important;color:var(--cm-ink-2,#415055)!important}
.cm-faq .cm-faq__item{padding-top:22px}
@media (max-width:900px){.cm-faq .cm-faq__item h3{font-size:17px!important}}


/* ═══════════════════════════════════════════════════════════════
   20 · HERO — composición definitiva
   Texto a la izquierda, retrato a la derecha y cinta de cifras a
   sangre debajo, cruzando las dos columnas.
   Sustituye por completo a los bloques 18 → 18g.
   ═══════════════════════════════════════════════════════════════ */

.cm-hero{overflow-x:clip}

.cm-kicker-hero{
  margin:0 0 16px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:var(--cm-accent,#005b60)
}
.cm-micro-hero{margin:14px 0 0;font-size:12.5px;color:var(--cm-ink-3,#656e71)}

.cm-hero .elementor-element-6eb65d42,
.cm-hero .elementor-element-6eb65d42 p{
  text-transform:none!important;letter-spacing:0!important;
  font-size:17px!important;line-height:1.55!important;
  color:#3f4c50!important;font-weight:400!important;margin:0!important
}

/* retrato */
.cm-foto{overflow:hidden;background:var(--cm-bg-2,#f4efe7)}
.cm-foto img{
  width:100%;height:100%;object-fit:cover;object-position:50% 16%;
  display:block;border-radius:0
}

/* cinta de cifras a sangre */
.cm-cifras{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  background:var(--cm-ink,#0b181c);color:#f2efe9
}
.cm-cifras__in{
  max-width:1240px;margin:0 auto;padding:26px 32px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0
}
.cm-cifras__in span{
  display:flex;align-items:baseline;gap:11px;
  font-size:13.5px;line-height:1.32;color:#c3cccd;padding:0 26px
}
.cm-cifras__in span:first-child{padding-left:0}
.cm-cifras__in span + span{border-left:1px solid rgba(242,239,233,.16)}
.cm-cifras b{
  font-family:var(--cm-serif,'Instrument Serif',Georgia,serif);
  font-size:30px;font-weight:400;line-height:1;
  color:var(--cm-teal-300,#58e5ed);white-space:nowrap
}

/* ── escritorio ────────────────────────────────────────────────── */
@media (min-width:1025px){
  .cm-hero{padding-top:56px!important;padding-bottom:0!important}
  .cm-hero > .e-con-inner{padding-bottom:0!important}

  .cm-hero .elementor-element-52cf028f{
    display:grid!important;
    grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);
    grid-template-rows:auto auto;
    gap:0 56px!important;padding-bottom:0!important;align-items:stretch
  }
  .cm-hero .elementor-element-1c4f9f2c{
    grid-column:1;grid-row:1;
    display:flex!important;flex-direction:column;justify-content:center;
    padding:0 0 56px!important;min-height:480px
  }
  .cm-hero .elementor-element-6be1f776,
  .cm-hero .elementor-element-3bce819c,
  .cm-hero .elementor-element-3bce819c > .elementor-widget-container{display:contents!important}
  .cm-foto{grid-column:2;grid-row:1;margin-bottom:56px}
  .cm-cifras{grid-column:1 / -1;grid-row:2}

  .cm-hero h1{font-size:clamp(48px,4.6vw,68px)!important;line-height:1!important;max-width:13ch}
  .cm-hero .elementor-element-28f94eab{height:18px!important}
  .cm-hero .elementor-element-1feaef81{display:block!important;height:26px!important}
  .cm-hero .elementor-element-6eb65d42{max-width:44ch}
  .cm-hero .elementor-element-6af720f9{align-items:flex-start;text-align:left}
  .cm-hero .elementor-element-6af720f9 .cm-micro-hero{text-align:left}
}

/* ── tableta y móvil: una sola columna ─────────────────────────── */
@media (max-width:1024px){
  .cm-hero{padding-top:40px!important;padding-bottom:0!important}
  .cm-hero > .e-con-inner{padding-bottom:0!important}
  .cm-hero .elementor-element-52cf028f{
    display:flex!important;flex-direction:column!important;gap:0!important;padding-bottom:0!important
  }
  .cm-hero .elementor-element-1c4f9f2c{display:contents!important}
  .cm-hero .elementor-element-6be1f776,
  .cm-hero .elementor-element-3bce819c,
  .cm-hero .elementor-element-3bce819c > .elementor-widget-container{display:contents!important}

  .cm-hero .elementor-element-87370ea{order:1}
  .cm-hero .elementor-element-18548b5c{order:2}
  .cm-hero .elementor-element-28f94eab{order:3;height:10px!important}
  .cm-hero .elementor-element-6eb65d42{order:4;margin-top:0!important}
  .cm-foto{order:5;margin-top:24px;height:320px}
  .cm-cifras{order:6}
  .cm-hero .elementor-element-1feaef81{order:7;display:block!important;height:24px!important}
  .cm-hero .elementor-element-6af720f9{order:8}
  .cm-hero .elementor-element-52cf028f > *{align-self:stretch;width:100%;max-width:100%}

  .cm-hero h1{font-size:clamp(36px,5.6vw,52px)!important;line-height:1.02!important;max-width:none}
  .cm-cifras__in{grid-template-columns:1fr 1fr;gap:18px 0;padding:22px 24px}
  .cm-cifras__in span{padding:0 18px}
  .cm-cifras__in span:nth-child(odd){padding-left:0}
  .cm-cifras__in span:nth-child(odd){border-left:0}
  .cm-cifras b{font-size:24px}
}

@media (max-width:767px){
  .cm-hero .elementor-element-52cf028f{padding-left:0!important;padding-right:0!important}
  .cm-foto{height:250px;margin-top:22px}
  .cm-hero h1{font-size:36px!important}
  .cm-kicker-hero{letter-spacing:.1em}
  .cm-cifras__in span{font-size:12px;gap:8px;padding:0 14px}
  .cm-cifras b{font-size:19px}
  .cm-hero .elementor-element-6af720f9{display:flex;flex-direction:column;gap:10px}
  .cm-hero .elementor-element-6af720f9 .elementor-widget-button,
  .cm-hero .elementor-element-6af720f9 .elementor-button{width:100%;justify-content:center}
  .cm-micro-hero{text-align:center}
}

/* 20b · La columna de texto llevaba width:430px y flex:1.35 de Elementor,
   así que ignoraba el reparto del grid; y el bloque de botones tenía
   flex-grow:1 y estiraba 373 px de alto. */
@media (min-width:1025px){
  .cm-hero .elementor-element-1c4f9f2c{width:100%!important;max-width:100%!important;flex:0 0 auto!important}
  .cm-hero .elementor-element-6af720f9{flex:0 0 auto!important;width:100%!important;flex-wrap:wrap}
  .cm-hero h1{max-width:none!important;font-size:clamp(44px,3.9vw,60px)!important;line-height:1.02!important}
}
@media (max-width:1024px){
  .cm-hero .elementor-element-6af720f9{flex:0 0 auto!important}
}

/* 20c · Sin altura explícita, el retrato (970×1455) estiraba la fila
   a 854 px y el hero medía 1.076 px. */
@media (min-width:1025px){
  .cm-foto{height:520px;margin-bottom:0}
  .cm-hero .elementor-element-1c4f9f2c{min-height:520px;padding-bottom:0!important}
  .cm-cifras{margin-top:56px}
}
@media (min-width:1025px) and (max-width:1280px){
  .cm-foto{height:470px}
  .cm-hero .elementor-element-1c4f9f2c{min-height:470px}
  .cm-cifras{margin-top:44px}
}

/* 20d · El hero es un contenedor de 1.400 px, no de 1.240: la cinta
   de cifras se alineaba 80 px por dentro del resto del bloque. */
.cm-cifras__in{max-width:1464px}

/* 20e · display:contents cambia el árbol de cajas, no el del DOM: el
   body.elementor-page-46 "> *" no llegaba a la foto ni a los hijos de la columna,
   y cada uno cogía su ancho de contenido (foto 167 px, h1 435 px). */
@media (max-width:1024px){
  .cm-hero .elementor-element-87370ea,
  .cm-hero .elementor-element-18548b5c,
  .cm-hero .elementor-element-28f94eab,
  .cm-hero .elementor-element-6eb65d42,
  .cm-hero .elementor-element-1feaef81,
  .cm-hero .elementor-element-6af720f9,
  .cm-hero .cm-foto{align-self:stretch!important;width:100%!important;max-width:100%!important}
  .cm-hero .cm-foto img{width:100%;height:100%;object-fit:cover}
}


/* BLOQUE-20F · En móvil la foto iba dentro del contenedor y la cinta
   a sangre: quedaba un escalón. Ahora las dos van a sangre. */
@media (max-width:767px){
  .cm-hero .cm-foto{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);height:265px}
  .cm-cifras__in{padding:20px}
  .cm-cifras__in span{font-size:11.5px;line-height:1.25;padding:0 12px}
  .cm-cifras b{font-size:18px}
}

/* ═══════════════════════════════════════════════════════════════
   21 · RITMO VERTICAL
   El aire entre secciones iba de 87 a 268 px y las tarjetas
   llevaban 56+56 px, o sea 112 px de separación entre bloques.
   Aquí se unifica: 64 px de tinta a borde en cada sección
   (128 px entre secciones) y 72 px entre tarjetas.
   ═══════════════════════════════════════════════════════════════ */

@media (min-width:1025px){

  /* ── 1 · aire de sección, medido en tinta, no en padding ────── */
  .cm-manifesto    > .e-con-inner{padding-top:62px!important;padding-bottom:52px!important}
  .cm-rules        > .e-con-inner{padding-top:62px!important;padding-bottom:8px!important}
  .cm-services     > .e-con-inner{padding-bottom:8px!important}
  .cm-course       > .e-con-inner{padding-top:0!important;padding-bottom:0!important}
  .cm-numbers      > .e-con-inner{padding-top:62px!important;padding-bottom:62px!important}
  .cm-testimonials > .e-con-inner{padding-top:52px!important;padding-bottom:24px!important}
  .cm-philosophy   > .e-con-inner{padding-top:42px!important;padding-bottom:42px!important}
  .cm-faqsec       > .e-con-inner{padding-top:64px!important;padding-bottom:62px!important}
  .cm-cta          > .e-con-inner{padding-top:42px!important;padding-bottom:24px!important}
  .cm-footer       > .e-con-inner{padding-top:72px!important}

  /* ── 2 · tarjetas: 112 px entre bloques era demasiado ────────── */
  .cm-rules .elementor-element-25ceb2ec,
  .cm-rules .elementor-element-5ac27fa,
  .cm-rules .elementor-element-3b1e73a8,
  .cm-services .cm-service{padding-top:36px!important;padding-bottom:36px!important}

  /* ── 3 · cabecera de servicios: 120 px de entrada ────────────── */
  .cm-services .elementor-element-5adbc56e{padding-top:64px!important;padding-bottom:40px!important}

  /* ── 4 · título de sección → contenido ───────────────────────── */
  .cm-rules .elementor-element-315aaa69{height:44px!important}
  .cm-testimonials .elementor-element-212f9605{padding-bottom:40px!important}
}

/* ── tableta y móvil: la misma escala, un tercio más corta ────── */
@media (max-width:1024px){
  .cm-manifesto    > .e-con-inner{padding-top:44px!important;padding-bottom:36px!important}
  .cm-rules        > .e-con-inner{padding-top:44px!important;padding-bottom:8px!important}
  .cm-services     > .e-con-inner{padding-bottom:8px!important}
  .cm-course       > .e-con-inner{padding-top:0!important;padding-bottom:0!important}
  .cm-numbers      > .e-con-inner{padding-top:44px!important;padding-bottom:44px!important}
  .cm-testimonials > .e-con-inner{padding-top:36px!important;padding-bottom:16px!important}
  .cm-philosophy   > .e-con-inner{padding-top:30px!important;padding-bottom:30px!important}
  .cm-faqsec       > .e-con-inner{padding-top:44px!important;padding-bottom:44px!important}
  .cm-cta          > .e-con-inner{padding-top:30px!important;padding-bottom:16px!important}
  .cm-footer       > .e-con-inner{padding-top:52px!important}

  .cm-rules .elementor-element-25ceb2ec,
  .cm-rules .elementor-element-5ac27fa,
  .cm-rules .elementor-element-3b1e73a8,
  .cm-services .cm-service{padding-top:28px!important;padding-bottom:28px!important}
  .cm-services .elementor-element-5adbc56e{padding-top:44px!important;padding-bottom:28px!important}
  .cm-rules .elementor-element-315aaa69{height:32px!important}
  .cm-testimonials .elementor-element-212f9605{padding-bottom:28px!important}
}

/* RITMO-21B · En tableta y móvil la cabecera de Servicios entraba
   con 84-104 px de aire frente a los 46 del resto. */
@media (max-width:767px){
  .cm-services .elementor-element-5adbc56e{padding-top:6px!important}
}
@media (min-width:768px) and (max-width:1024px){
  .cm-services .elementor-element-5adbc56e{padding-top:0!important;margin-top:-14px}
  .cm-course > .e-con-inner{margin-top:-20px;margin-bottom:-20px}
}

/* RITMO-22 · Cada regla era un flex de una sola fila con gap 48: el
   número y el titular llenaban el ancho y el párrafo caía a una
   segunda línea, a 90 px del título y alineado con el número.
   Ahora es una rejilla: número a la izquierda, título y párrafo
   encadenados en la columna de la derecha. */
@media (min-width:768px){
  .cm-rules .cm-rule-row{
    display:grid!important;
    grid-template-columns:120px minmax(0,1fr);
    column-gap:48px!important;row-gap:12px!important;
    align-items:start
  }
  .cm-rules .cm-rule-row > *:nth-child(1){grid-column:1;grid-row:1 / span 2;width:auto!important}
  .cm-rules .cm-rule-row > *:nth-child(2){grid-column:2;grid-row:1;width:auto!important}
  .cm-rules .cm-rule-row > *:nth-child(3){grid-column:2;grid-row:2;width:auto!important}
}
@media (max-width:767px){
  .cm-rules .cm-rule-row{gap:12px!important}
}

/* RITMO-22B · La cabecera de Servicios también era un flex en fila
   con gap 64 que envolvía: 64 px entre el titular y la entradilla. */
.cm-services .elementor-element-5adbc56e{row-gap:24px!important}





/* FOTO-HERO · retrato al 75 % del tamano original */
@media (min-width:1281px){.cm-hero .cm-foto{width:428px!important;height:390px!important;margin-left:auto!important;margin-right:0!important;align-self:center!important}}
@media (min-width:1025px) and (max-width:1280px){.cm-hero .cm-foto{width:387px!important;height:353px!important;margin-left:auto!important;margin-right:0!important;align-self:center!important}}/* End custom CSS */