.elementor-6702 .elementor-element.elementor-element-468c82ae .elementor-menu-toggle{margin:0 auto;}.elementor-6702 .elementor-element.elementor-element-468c82ae .elementor-nav-menu .elementor-item{font-family:"Jost", Sans-serif;font-size:13px;font-weight:500;letter-spacing:-0.01em;word-spacing:0px;}.elementor-6702 .elementor-element.elementor-element-468c82ae .elementor-nav-menu--main .elementor-item{color:rgba(27,36,52,0.82);fill:rgba(27,36,52,0.82);}.elementor-6702 .elementor-element.elementor-element-468c82ae .elementor-nav-menu--main .elementor-item:hover,
					.elementor-6702 .elementor-element.elementor-element-468c82ae .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-6702 .elementor-element.elementor-element-468c82ae .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-6702 .elementor-element.elementor-element-468c82ae .elementor-nav-menu--main .elementor-item:focus{color:#1B2434;fill:#1B2434;}.elementor-6702 .elementor-element.elementor-element-468c82ae .elementor-nav-menu--main .elementor-item.elementor-item-active{color:rgba(27,36,52,0.82);}.elementor-6702 .elementor-element.elementor-element-b1a0de02 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Jost", Sans-serif;font-size:13px;font-weight:500;letter-spacing:-0.01em;fill:#1B2434;color:#1B2434;border-style:none;padding:9px 14px 9px 14px;}.elementor-6702 .elementor-element.elementor-element-b1a0de02.elementor-element{--align-self:center;}.elementor-6702 .elementor-element.elementor-element-b1a0e100{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e121{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e116{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e105{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e110{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e115{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e117{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e120 .elementor-button{background-color:#1A3668;fill:#FFFFFF;color:#FFFFFF;border-style:none;}.elementor-6702 .elementor-element.elementor-element-b1a0e200{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e221{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e216{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e205{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e210{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e215{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e217{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e220 .elementor-button{background-color:#1A3668;fill:#FFFFFF;color:#FFFFFF;border-style:none;}.elementor-6702 .elementor-element.elementor-element-b1a0e300{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e316{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e311{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e305{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e310{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e312{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e315 .elementor-button{background-color:#1A3668;fill:#FFFFFF;color:#FFFFFF;border-style:none;}.elementor-6702 .elementor-element.elementor-element-b1a0e400{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e411{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e406{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e405{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e407{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e410 .elementor-button{background-color:#1A3668;fill:#FFFFFF;color:#FFFFFF;border-style:none;}.elementor-6702 .elementor-element.elementor-element-b1a0e500{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e521{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e516{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e505{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e510{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e515{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e517{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6702 .elementor-element.elementor-element-b1a0e520 .elementor-button{background-color:#1A3668;fill:#FFFFFF;color:#FFFFFF;border-style:none;}.elementor-6702 .elementor-element.elementor-element-01a366e{--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:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a366e:not(.elementor-motion-effects-element-type-background), .elementor-6702 .elementor-element.elementor-element-01a366e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1A3668;}.elementor-6702 .elementor-element.elementor-element-01a366d{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3669 > .elementor-widget-container{margin:0px 0px 8px 0px;}.elementor-6702 .elementor-element.elementor-element-01a3669 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:1.8px;color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-01a366a .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:44px;font-weight:500;line-height:1.05em;letter-spacing:-1.04px;color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-01a366b{--divider-border-style:solid;--divider-color:#C9A84C;--divider-border-width:2px;}.elementor-6702 .elementor-element.elementor-element-01a366b .elementor-divider-separator{width:56px;margin:0 auto;margin-left:0;}.elementor-6702 .elementor-element.elementor-element-01a366b .elementor-divider{text-align:left;padding-block-start:10px;padding-block-end:10px;}.elementor-6702 .elementor-element.elementor-element-01a366c{font-family:"Inter", Sans-serif;font-size:19px;line-height:1.6em;color:#C3CFE4;}.elementor-6702 .elementor-element.elementor-element-01a367b{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a367b:not(.elementor-motion-effects-element-type-background), .elementor-6702 .elementor-element.elementor-element-01a367b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0F2246;}.elementor-6702 .elementor-element.elementor-element-01a3671{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:34px;--padding-bottom:34px;--padding-left:28px;--padding-right:28px;}.elementor-6702 .elementor-element.elementor-element-01a366f .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:500;line-height:1.1em;color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-01a3670 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;line-height:1.45em;letter-spacing:1.08px;color:#93A7C8;}.elementor-6702 .elementor-element.elementor-element-01a3674{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:34px;--padding-bottom:34px;--padding-left:28px;--padding-right:28px;}.elementor-6702 .elementor-element.elementor-element-01a3672 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:500;line-height:1.1em;color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-01a3673 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;line-height:1.45em;letter-spacing:1.08px;color:#93A7C8;}.elementor-6702 .elementor-element.elementor-element-01a3677{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:34px;--padding-bottom:34px;--padding-left:28px;--padding-right:28px;}.elementor-6702 .elementor-element.elementor-element-01a3675 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:500;line-height:1.1em;color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-01a3676 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;line-height:1.45em;letter-spacing:1.08px;color:#93A7C8;}.elementor-6702 .elementor-element.elementor-element-01a367a{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:34px;--padding-bottom:34px;--padding-left:28px;--padding-right:28px;}.elementor-6702 .elementor-element.elementor-element-01a3678 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:500;line-height:1.1em;color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-01a3679 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;line-height:1.45em;letter-spacing:1.08px;color:#93A7C8;}.elementor-6702 .elementor-element.elementor-element-01a367d{--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:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36a5{--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:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:128px;--padding-bottom:128px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36a2 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:500;text-transform:uppercase;line-height:1.4em;letter-spacing:1.8px;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36a3 > .elementor-widget-container{margin:0px 0px 8px 0px;}.elementor-6702 .elementor-element.elementor-element-01a36a3 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:30px;font-weight:600;line-height:1.2em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36a4{--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:8px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3683{--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:start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#D8DEE8;--border-color:#D8DEE8;--padding-top:22px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a367f{--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:6px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a367e .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:13px;font-weight:500;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a3682{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:6px 6px;--row-gap:6px;--column-gap:6px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3680 > .elementor-widget-container{margin:0px 0px 6px 0px;}.elementor-6702 .elementor-element.elementor-element-01a3680 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:18px;font-weight:600;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a3681{font-family:"Inter", Sans-serif;font-size:15.5px;line-height:1.65em;color:#4C5665;}.elementor-6702 .elementor-element.elementor-element-01a3689{--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:start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#D8DEE8;--border-color:#D8DEE8;--padding-top:22px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3685{--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:6px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3684 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:13px;font-weight:500;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a3688{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:6px 6px;--row-gap:6px;--column-gap:6px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3686 > .elementor-widget-container{margin:0px 0px 6px 0px;}.elementor-6702 .elementor-element.elementor-element-01a3686 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:18px;font-weight:600;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a3687{font-family:"Inter", Sans-serif;font-size:15.5px;line-height:1.65em;color:#4C5665;}.elementor-6702 .elementor-element.elementor-element-01a368f{--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:start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#D8DEE8;--border-color:#D8DEE8;--padding-top:22px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a368b{--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:6px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a368a .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:13px;font-weight:500;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a368e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:6px 6px;--row-gap:6px;--column-gap:6px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a368c > .elementor-widget-container{margin:0px 0px 6px 0px;}.elementor-6702 .elementor-element.elementor-element-01a368c .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:18px;font-weight:600;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a368d{font-family:"Inter", Sans-serif;font-size:15.5px;line-height:1.65em;color:#4C5665;}.elementor-6702 .elementor-element.elementor-element-01a3695{--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:start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#D8DEE8;--border-color:#D8DEE8;--padding-top:22px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3691{--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:6px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3690 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:13px;font-weight:500;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a3694{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:6px 6px;--row-gap:6px;--column-gap:6px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3692 > .elementor-widget-container{margin:0px 0px 6px 0px;}.elementor-6702 .elementor-element.elementor-element-01a3692 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:18px;font-weight:600;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a3693{font-family:"Inter", Sans-serif;font-size:15.5px;line-height:1.65em;color:#4C5665;}.elementor-6702 .elementor-element.elementor-element-01a369b{--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:start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#D8DEE8;--border-color:#D8DEE8;--padding-top:22px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3697{--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:6px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3696 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:13px;font-weight:500;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a369a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:6px 6px;--row-gap:6px;--column-gap:6px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a3698 > .elementor-widget-container{margin:0px 0px 6px 0px;}.elementor-6702 .elementor-element.elementor-element-01a3698 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:18px;font-weight:600;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a3699{font-family:"Inter", Sans-serif;font-size:15.5px;line-height:1.65em;color:#4C5665;}.elementor-6702 .elementor-element.elementor-element-01a36a1{--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:start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#D8DEE8;--border-color:#D8DEE8;--padding-top:22px;--padding-bottom:22px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a369d{--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:6px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a369c .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:13px;font-weight:500;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36a0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:6px 6px;--row-gap:6px;--column-gap:6px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a369e > .elementor-widget-container{margin:0px 0px 6px 0px;}.elementor-6702 .elementor-element.elementor-element-01a369e .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:18px;font-weight:600;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a369f{font-family:"Inter", Sans-serif;font-size:15.5px;line-height:1.65em;color:#4C5665;}.elementor-6702 .elementor-element.elementor-element-01a36d5{--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:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36d4{--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:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36d1{--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:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36ce .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:500;text-transform:uppercase;line-height:1.4em;letter-spacing:1.8px;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36cf > .elementor-widget-container{margin:0px 0px 8px 0px;}.elementor-6702 .elementor-element.elementor-element-01a36cf .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:30px;font-weight:600;line-height:1.2em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36d0{font-family:"Inter", Sans-serif;font-size:16.5px;line-height:1.65em;color:#414B5A;}.elementor-6702 .elementor-element.elementor-element-01a36d2{--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:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36d3{--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:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36aa{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36a6{font-family:"Inter", Sans-serif;font-size:11.5px;font-weight:500;line-height:1.65em;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36a7 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:600;line-height:1.25em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36a8{font-family:"Inter", Sans-serif;font-size:16px;line-height:1.62em;color:#5C6675;}.elementor-6702 .elementor-element.elementor-element-01a36a9{font-family:"Inter", Sans-serif;font-size:15px;line-height:1.65em;color:#1A3668;}.elementor-6702 .elementor-element.elementor-element-01a36af{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36ab{font-family:"Inter", Sans-serif;font-size:11.5px;font-weight:500;line-height:1.65em;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36ac .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:600;line-height:1.25em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36ad{font-family:"Inter", Sans-serif;font-size:16px;line-height:1.62em;color:#5C6675;}.elementor-6702 .elementor-element.elementor-element-01a36ae{font-family:"Inter", Sans-serif;font-size:15px;line-height:1.65em;color:#1A3668;}.elementor-6702 .elementor-element.elementor-element-01a36b4{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36b0{font-family:"Inter", Sans-serif;font-size:11.5px;font-weight:500;line-height:1.65em;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36b1 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:600;line-height:1.25em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36b2{font-family:"Inter", Sans-serif;font-size:16px;line-height:1.62em;color:#5C6675;}.elementor-6702 .elementor-element.elementor-element-01a36b3{font-family:"Inter", Sans-serif;font-size:15px;line-height:1.65em;color:#1A3668;}.elementor-6702 .elementor-element.elementor-element-01a36b9{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36b5{font-family:"Inter", Sans-serif;font-size:11.5px;font-weight:500;line-height:1.65em;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36b6 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:600;line-height:1.25em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36b7{font-family:"Inter", Sans-serif;font-size:16px;line-height:1.62em;color:#5C6675;}.elementor-6702 .elementor-element.elementor-element-01a36b8{font-family:"Inter", Sans-serif;font-size:15px;line-height:1.65em;color:#1A3668;}.elementor-6702 .elementor-element.elementor-element-01a36be{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36ba{font-family:"Inter", Sans-serif;font-size:11.5px;font-weight:500;line-height:1.65em;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36bb .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:600;line-height:1.25em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36bc{font-family:"Inter", Sans-serif;font-size:16px;line-height:1.62em;color:#5C6675;}.elementor-6702 .elementor-element.elementor-element-01a36bd{font-family:"Inter", Sans-serif;font-size:15px;line-height:1.65em;color:#1A3668;}.elementor-6702 .elementor-element.elementor-element-01a36c3{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36bf{font-family:"Inter", Sans-serif;font-size:11.5px;font-weight:500;line-height:1.65em;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36c0 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:600;line-height:1.25em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36c1{font-family:"Inter", Sans-serif;font-size:16px;line-height:1.62em;color:#5C6675;}.elementor-6702 .elementor-element.elementor-element-01a36c2{font-family:"Inter", Sans-serif;font-size:15px;line-height:1.65em;color:#1A3668;}.elementor-6702 .elementor-element.elementor-element-01a36c8{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36c4{font-family:"Inter", Sans-serif;font-size:11.5px;font-weight:500;line-height:1.65em;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36c5 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:600;line-height:1.25em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36c6{font-family:"Inter", Sans-serif;font-size:16px;line-height:1.62em;color:#5C6675;}.elementor-6702 .elementor-element.elementor-element-01a36c7{font-family:"Inter", Sans-serif;font-size:15px;line-height:1.65em;color:#1A3668;}.elementor-6702 .elementor-element.elementor-element-01a36cd{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36c9{font-family:"Inter", Sans-serif;font-size:11.5px;font-weight:500;line-height:1.65em;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36ca .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:600;line-height:1.25em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36cb{font-family:"Inter", Sans-serif;font-size:16px;line-height:1.62em;color:#5C6675;}.elementor-6702 .elementor-element.elementor-element-01a36cc{font-family:"Inter", Sans-serif;font-size:15px;line-height:1.65em;color:#1A3668;}.elementor-6702 .elementor-element.elementor-element-01a36e5{--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:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:128px;--padding-bottom:128px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36e2 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:500;text-transform:uppercase;line-height:1.4em;letter-spacing:1.8px;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36e3 > .elementor-widget-container{margin:0px 0px 8px 0px;}.elementor-6702 .elementor-element.elementor-element-01a36e3 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:30px;font-weight:600;line-height:1.2em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36e4{--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:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:8px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36db{--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:start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36da{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:6px 6px;--row-gap:6px;--column-gap:6px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36d7 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:18px;font-weight:600;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36d8{font-family:"Inter", Sans-serif;font-size:13.5px;line-height:1.65em;color:#656F7E;}.elementor-6702 .elementor-element.elementor-element-01a36d9{font-family:"Inter", Sans-serif;font-size:15px;line-height:1.65em;color:#4C5665;}.elementor-6702 .elementor-element.elementor-element-01a36e1{--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:start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36e0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:6px 6px;--row-gap:6px;--column-gap:6px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36dd .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:18px;font-weight:600;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36de{font-family:"Inter", Sans-serif;font-size:13.5px;line-height:1.65em;color:#656F7E;}.elementor-6702 .elementor-element.elementor-element-01a36df{font-family:"Inter", Sans-serif;font-size:15px;line-height:1.65em;color:#4C5665;}.elementor-6702 .elementor-element.elementor-element-01a36ea{--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:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:128px;--padding-bottom:128px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36ea:not(.elementor-motion-effects-element-type-background), .elementor-6702 .elementor-element.elementor-element-01a36ea > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F6F9;}.elementor-6702 .elementor-element.elementor-element-01a36e6 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:500;text-transform:uppercase;line-height:1.4em;letter-spacing:1.8px;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36e7 > .elementor-widget-container{margin:0px 0px 8px 0px;}.elementor-6702 .elementor-element.elementor-element-01a36e7 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:28px;font-weight:600;line-height:1.25em;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36e8{font-family:"Inter", Sans-serif;font-size:16.5px;line-height:1.7em;color:#414B5A;}.elementor-6702 .elementor-element.elementor-element-01a36e9{font-family:"Inter", Sans-serif;font-size:16.5px;line-height:1.7em;color:#414B5A;}.elementor-6702 .elementor-element.elementor-element-01a36ef{--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:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:128px;--padding-bottom:128px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36eb .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:12px;font-weight:500;text-transform:uppercase;line-height:1.4em;letter-spacing:1.8px;color:#7A6529;}.elementor-6702 .elementor-element.elementor-element-01a36ec > .elementor-widget-container{margin:0px 0px 8px 0px;}.elementor-6702 .elementor-element.elementor-element-01a36ec .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:24px;font-weight:600;color:#1B2434;}.elementor-6702 .elementor-element.elementor-element-01a36ee{--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:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36ed{font-family:"Inter", Sans-serif;font-size:14px;line-height:1.65em;color:#414B5A;}.elementor-6702 .elementor-element.elementor-element-01a36f7{--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:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:128px;--padding-bottom:128px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36f7:not(.elementor-motion-effects-element-type-background), .elementor-6702 .elementor-element.elementor-element-01a36f7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F6F9;}.elementor-6702 .elementor-element.elementor-element-01a36f6{--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;--justify-content:space-between;--align-items:center;--gap:44px 44px;--row-gap:44px;--column-gap:44px;--flex-wrap:wrap;--padding-top:58px;--padding-bottom:52px;--padding-left:56px;--padding-right:56px;}.elementor-6702 .elementor-element.elementor-element-01a36f6:not(.elementor-motion-effects-element-type-background), .elementor-6702 .elementor-element.elementor-element-01a36f6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#12244A;}.elementor-6702 .elementor-element.elementor-element-01a36f4{--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:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36f2 > .elementor-widget-container{margin:0px 0px 8px 0px;}.elementor-6702 .elementor-element.elementor-element-01a36f2 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:30px;font-weight:500;line-height:1.25em;color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-01a36f3{font-family:"Inter", Sans-serif;font-size:17px;line-height:1.62em;color:#C3CFE4;}.elementor-6702 .elementor-element.elementor-element-01a36f5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6702 .elementor-element.elementor-element-01a36f0 .elementor-button{background-color:#FFFFFF;font-family:"Inter", Sans-serif;font-size:14px;font-weight:600;letter-spacing:0.01em;fill:#1A3668;color:#1A3668;border-style:solid;border-width:1.5px 1.5px 1.5px 1.5px;border-color:#FFFFFF;border-radius:4px 4px 4px 4px;padding:13px 22px 13px 22px;}.elementor-6702 .elementor-element.elementor-element-01a36f0 .elementor-button:hover, .elementor-6702 .elementor-element.elementor-element-01a36f0 .elementor-button:focus{background-color:#E8EDF5;color:#1A3668;border-color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-01a36f0 .elementor-button:hover svg, .elementor-6702 .elementor-element.elementor-element-01a36f0 .elementor-button:focus svg{fill:#1A3668;}.elementor-6702 .elementor-element.elementor-element-01a36f1 .elementor-button{background-color:rgba(0,0,0,0);font-family:"Inter", Sans-serif;font-size:14px;font-weight:600;letter-spacing:0.01em;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1.5px 1.5px 1.5px 1.5px;border-color:rgba(255,255,255,.55);border-radius:4px 4px 4px 4px;padding:13px 22px 13px 22px;}.elementor-6702 .elementor-element.elementor-element-01a36f1 .elementor-button:hover, .elementor-6702 .elementor-element.elementor-element-01a36f1 .elementor-button:focus{background-color:rgba(255,255,255,.10);color:#FFFFFF;border-color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-01a36f1 .elementor-button:hover svg, .elementor-6702 .elementor-element.elementor-element-01a36f1 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-983e902{--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:64px;--padding-bottom:48px;--padding-left:28px;--padding-right:28px;}.elementor-6702 .elementor-element.elementor-element-983e902:not(.elementor-motion-effects-element-type-background), .elementor-6702 .elementor-element.elementor-element-983e902 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0A1424;}.elementor-6702 .elementor-element.elementor-element-eda5616{--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;}.elementor-6702 .elementor-element.elementor-element-5a7c435{--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;}.elementor-6702 .elementor-element.elementor-element-b0f5eea > .elementor-widget-container{margin:0px 0px 14px 0px;}.elementor-6702 .elementor-element.elementor-element-b0f5eea .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:11px;font-weight:600;letter-spacing:1.6px;color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-11px/2);}.elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-11px/2);}.elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-6702 .elementor-element.elementor-element-bc9f652{--e-icon-list-icon-size:0px;--icon-vertical-offset:0px;}.elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:14px;font-weight:300;}.elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-text{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-bc9f652 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-b6e6cfa{--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;}.elementor-6702 .elementor-element.elementor-element-49f8cca > .elementor-widget-container{margin:0px 0px 14px 0px;}.elementor-6702 .elementor-element.elementor-element-49f8cca .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:11px;font-weight:600;letter-spacing:1.6px;color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-11px/2);}.elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-11px/2);}.elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-6702 .elementor-element.elementor-element-b50dfea{--e-icon-list-icon-size:0px;--icon-vertical-offset:0px;}.elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-item > .elementor-icon-list-text, .elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:14px;font-weight:300;}.elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-text{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-b50dfea .elementor-icon-list-item:hover .elementor-icon-list-text{color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-7627335{--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;}.elementor-6702 .elementor-element.elementor-element-92e8d8c > .elementor-widget-container{margin:0px 0px 14px 0px;}.elementor-6702 .elementor-element.elementor-element-92e8d8c .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:11px;font-weight:600;letter-spacing:1.6px;color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-11px/2);}.elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-11px/2);}.elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-6702 .elementor-element.elementor-element-031371c{--e-icon-list-icon-size:0px;--icon-vertical-offset:0px;}.elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:14px;font-weight:300;}.elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-text{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-031371c .elementor-icon-list-item:hover .elementor-icon-list-text{color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-9a9179d{--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;}.elementor-6702 .elementor-element.elementor-element-7a51547 > .elementor-widget-container{margin:0px 0px 14px 0px;}.elementor-6702 .elementor-element.elementor-element-7a51547 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:11px;font-weight:600;letter-spacing:1.6px;color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-11px/2);}.elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-11px/2);}.elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-6702 .elementor-element.elementor-element-1a9faf3{--e-icon-list-icon-size:0px;--icon-vertical-offset:0px;}.elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:14px;font-weight:300;}.elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-text{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-1a9faf3 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-51a2a6d{--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:36px;--padding-bottom:40px;--padding-left:28px;--padding-right:28px;}.elementor-6702 .elementor-element.elementor-element-51a2a6d:not(.elementor-motion-effects-element-type-background), .elementor-6702 .elementor-element.elementor-element-51a2a6d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0A1424;}.elementor-6702 .elementor-element.elementor-element-a7d0c7f{--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;}.elementor-6702 .elementor-element.elementor-element-6e9bd5d{--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;}.elementor-6702 .elementor-element.elementor-element-31513bc{--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;}.elementor-6702 .elementor-element.elementor-element-e8abbd7 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-6702 .elementor-element.elementor-element-e8abbd7 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:15px;font-weight:600;color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-icon i{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-icon svg{fill:#C7D3E6;transition:fill 0.3s;}.elementor-6702 .elementor-element.elementor-element-e59dfb2{--e-icon-list-icon-size:9px;--icon-vertical-offset:0px;}.elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-icon{padding-inline-end:4px;}.elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:12px;font-weight:500;}.elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-text{color:#8FA3BF;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-e59dfb2 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-icon i{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-icon svg{fill:#C7D3E6;transition:fill 0.3s;}.elementor-6702 .elementor-element.elementor-element-65bdb04{--e-icon-list-icon-size:9px;--icon-vertical-offset:0px;}.elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-icon{padding-inline-end:4px;}.elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:12px;font-weight:500;}.elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-text{color:#8FA3BF;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-65bdb04 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-121fbcd{--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;}.elementor-6702 .elementor-element.elementor-element-f40a390 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-6702 .elementor-element.elementor-element-f40a390 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:15px;font-weight:600;color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-icon i{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-icon svg{fill:#C7D3E6;transition:fill 0.3s;}.elementor-6702 .elementor-element.elementor-element-5b0ea4e{--e-icon-list-icon-size:9px;--icon-vertical-offset:0px;}.elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-icon{padding-inline-end:4px;}.elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-item > .elementor-icon-list-text, .elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:12px;font-weight:500;}.elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-text{color:#8FA3BF;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-5b0ea4e .elementor-icon-list-item:hover .elementor-icon-list-text{color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-icon i{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-icon svg{fill:#C7D3E6;transition:fill 0.3s;}.elementor-6702 .elementor-element.elementor-element-7ff1200{--e-icon-list-icon-size:9px;--icon-vertical-offset:0px;}.elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-icon{padding-inline-end:4px;}.elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:12px;font-weight:500;}.elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-text{color:#8FA3BF;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-7ff1200 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-6697bf6{--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;}.elementor-6702 .elementor-element.elementor-element-91807da > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-6702 .elementor-element.elementor-element-91807da .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:15px;font-weight:600;color:#FFFFFF;}.elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-icon i{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-icon svg{fill:#C7D3E6;transition:fill 0.3s;}.elementor-6702 .elementor-element.elementor-element-3e9c065{--e-icon-list-icon-size:9px;--icon-vertical-offset:0px;}.elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-icon{padding-inline-end:4px;}.elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:12px;font-weight:500;}.elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-text{color:#8FA3BF;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-3e9c065 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(5px/2);}.elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-5px/2);}.elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-icon i{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-icon svg{fill:#C7D3E6;transition:fill 0.3s;}.elementor-6702 .elementor-element.elementor-element-08fb852{--e-icon-list-icon-size:9px;--icon-vertical-offset:0px;}.elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-icon{padding-inline-end:4px;}.elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:12px;font-weight:500;}.elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-text{color:#8FA3BF;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-08fb852 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#C9A84C;}.elementor-6702 .elementor-element.elementor-element-720d633{--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:24px 24px;--row-gap:24px;--column-gap:24px;}.elementor-6702 .elementor-element.elementor-element-581b894{font-family:"Inter", Sans-serif;font-size:12px;line-height:1.8em;color:#8FA3BF;}.elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(11px/2);}.elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-11px/2);}.elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-11px/2);}.elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-icon i{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-icon svg{fill:#C7D3E6;transition:fill 0.3s;}.elementor-6702 .elementor-element.elementor-element-18bad48{--e-icon-list-icon-size:16px;--icon-vertical-offset:0px;}.elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-icon{padding-inline-end:8px;}.elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:13px;font-weight:300;}.elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-text{color:#C7D3E6;transition:color 0.3s;}.elementor-6702 .elementor-element.elementor-element-18bad48 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#FFFFFF;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-6702 .elementor-element.elementor-element-01a366e{--content-width:1240px;}.elementor-6702 .elementor-element.elementor-element-01a367b{--content-width:1240px;}.elementor-6702 .elementor-element.elementor-element-01a3671{--width:25%;}.elementor-6702 .elementor-element.elementor-element-01a3674{--width:25%;}.elementor-6702 .elementor-element.elementor-element-01a3677{--width:25%;}.elementor-6702 .elementor-element.elementor-element-01a367a{--width:25%;}.elementor-6702 .elementor-element.elementor-element-01a36a5{--content-width:1240px;}.elementor-6702 .elementor-element.elementor-element-01a367f{--width:8%;}.elementor-6702 .elementor-element.elementor-element-01a3682{--width:92%;}.elementor-6702 .elementor-element.elementor-element-01a3685{--width:8%;}.elementor-6702 .elementor-element.elementor-element-01a3688{--width:92%;}.elementor-6702 .elementor-element.elementor-element-01a368b{--width:8%;}.elementor-6702 .elementor-element.elementor-element-01a368e{--width:92%;}.elementor-6702 .elementor-element.elementor-element-01a3691{--width:8%;}.elementor-6702 .elementor-element.elementor-element-01a3694{--width:92%;}.elementor-6702 .elementor-element.elementor-element-01a3697{--width:8%;}.elementor-6702 .elementor-element.elementor-element-01a369a{--width:92%;}.elementor-6702 .elementor-element.elementor-element-01a369d{--width:8%;}.elementor-6702 .elementor-element.elementor-element-01a36a0{--width:92%;}.elementor-6702 .elementor-element.elementor-element-01a36e5{--content-width:1240px;}.elementor-6702 .elementor-element.elementor-element-01a36db{--width:48%;}.elementor-6702 .elementor-element.elementor-element-01a36e1{--width:48%;}.elementor-6702 .elementor-element.elementor-element-01a36ea{--content-width:1240px;}.elementor-6702 .elementor-element.elementor-element-01a36ef{--content-width:1240px;}.elementor-6702 .elementor-element.elementor-element-01a36f7{--content-width:1240px;}}/* Start custom CSS *//* Boettcher Law landing page. Design System v1.2. Hover states only. */
.bl-btn .elementor-button{transition:background-color 160ms cubic-bezier(.2,.6,.3,1),
  color 160ms cubic-bezier(.2,.6,.3,1),border-color 160ms cubic-bezier(.2,.6,.3,1),
  box-shadow 160ms cubic-bezier(.2,.6,.3,1)}
/* the gold line arrives inset, so the button never shifts by 2px on hover */
.bl-btn-primary .elementor-button:hover,.bl-btn-primary .elementor-button:focus-visible,
.bl-btn-on-navy .elementor-button:hover,.bl-btn-on-navy .elementor-button:focus-visible{
  box-shadow:inset 0 -2px 0 #C9A84C}
/* sequence rows: gold number, quiet ground */
.bl-step{transition:background-color 160ms cubic-bezier(.2,.6,.3,1)}
.bl-step:hover{background-color:#F4F6F9}
.bl-step:hover .bl-stepnum{color:#1A3668}
/* engagement cards: hairline becomes gold */
.bl-card{transition:border-color 200ms cubic-bezier(.2,.6,.3,1),
  box-shadow 200ms cubic-bezier(.2,.6,.3,1)}
.bl-card:hover{border-color:#C9A84C!important;
  box-shadow:0 1px 2px rgba(15,34,70,.05),0 10px 28px rgba(15,34,70,.07)}
/* judgment pieces: a gold rule appears on the left */
.bl-jud{border-left:2px solid transparent;padding-left:16px;
  transition:border-color 200ms cubic-bezier(.2,.6,.3,1)}
.bl-jud:hover{border-left-color:#C9A84C}
/* related chips */
.bl-chips a{transition:border-color 160ms cubic-bezier(.2,.6,.3,1),
  background-color 160ms cubic-bezier(.2,.6,.3,1)}
.bl-chips a:hover{border-color:#C9A84C!important;background:#E8EDF5}
@media (prefers-reduced-motion:reduce){
  .bl-btn .elementor-button,.bl-step,.bl-rail-card,.bl-jud,.bl-chips a{
    transition:none}
  .elementor-invisible{opacity:1!important;animation:none!important}
}

/* people */

/* 06 portraits, Elementor classes. The preview styles `.person .portrait`
   directly; Elementor wraps its image widget, so the same geometry has to be
   expressed against the widget's own markup. Both live here so a change to the
   portrait size happens once. */
.bl-person{align-items:flex-start}
.bl-person .bl-portrait{flex:0 0 140px}
.bl-person .bl-portrait img{display:block;width:140px;height:175px;
  object-fit:cover;object-position:center 22%;
  border:1px solid var(--hairline)}
@media (max-width:900px){
  .bl-person .bl-portrait,.bl-person .bl-portrait img{width:110px;flex-basis:110px}
  .bl-person .bl-portrait img{height:138px}
}


/* counsel */

/* 06b counsel assisting. Deliberately quieter than the people band above it:
   no portraits, smaller type, a hairline rule instead of cards. The visual
   hierarchy is doing the same job as the words, which is to say that these are
   not the people a client deals with. Do not add portraits here. Giving these
   two the same treatment as the principals is exactly the impression the band
   exists to avoid. */
.bl-counsel{border-top:1px solid var(--hairline);padding-top:18px}
.bl-counsel .bl-counsel-name{font-family:Jost;font-size:17px;color:#1A3668}
.bl-counsel .bl-counsel-role{font-size:12.5px;letter-spacing:.06em;
  text-transform:uppercase;color:#656F7E}


/* diagram */

/* 05a the share-sale / asset-sale diagram ----------------------------
   Inline SVG, so every colour comes from the same tokens as the rest of the
   page and a token change restyles the drawing. That is the whole reason the
   article template settled on hand-built SVG over exported pictures. */
.bl-dia{margin:0 0 var(--s7);padding:0}
.bl-dia svg{display:block;width:100%;height:auto;overflow:visible;
  color:var(--navy)}   /* the arrowhead uses currentColor */
.bl-dia figcaption{margin-top:var(--s4);font-size:14px;color:var(--muted);
  max-width:38rem}
.d-title{font:500 19px var(--display);fill:var(--ink)}
.d-rule{fill:var(--gold)}
.d-node{fill:var(--navy);stroke:none}
.d-node-t{font:500 14px var(--sans);fill:#fff;text-anchor:middle}
.d-arrow{stroke:var(--navy);stroke-width:1.5;marker-end:url(#bl-arrow)}
.d-arrow-t{font:400 12px var(--sans);fill:var(--muted);text-anchor:middle}
.d-box{fill:var(--surface);stroke:var(--hairline);stroke-width:1}
.d-box-t{font:500 14px var(--sans);fill:var(--ink)}
.d-item{font:400 13.5px var(--sans);fill:var(--body)}
.d-dot{fill:var(--gold)}
.d-note{font:400 12px var(--sans);fill:var(--muted)}
.d-foot{font:400 13px var(--sans);fill:var(--body)}
/* A node highlight for drawings built as a sequence of nodes, added 19 August
   2026 for the homepage decision map. Hover only and decorative: the drawing is
   role="img", so its subtree is not exposed to assistive technology and there is
   nothing here for a keyboard user to reach. Everything the highlight points at
   is written out in the steps beneath the drawing. Transition is guarded, so a
   reader who asks for less motion gets the colour change with no animation. */
.bl-map-node .d-node{fill:var(--navy)}
@media (prefers-reduced-motion: no-preference){
  .bl-map-node .d-node{transition:fill .18s ease}
}
.bl-map-node:hover .d-node{fill:var(--navy-deep)}
@media (max-width:900px){
  /* Two panels side by side stop being readable well before the band does, so
     the drawing scrolls rather than shrinking its type into illegibility. */
  .bl-dia{overflow-x:auto}
  .bl-dia svg{min-width:720px}
}


/* join */

/* 02a join: one full-bleed image, no text over it ---------------------
   Sits between the navy facts strip and the sequence, so it is the
   transition out of the navy block AND it lands where the page first
   describes the deal, which is what stops it being decoration.

   `max-height` is not optional. The source is cropped 3:1, so on a 2400px
   monitor an uncapped full-bleed image would stand 800px tall and become the
   page's subject rather than a band. Capped and re-cropped by the browser, it
   stays a band at every width. */
.bl-join{display:block;margin:0;line-height:0}
/* A join used INSIDE band 03, between two questions, rather than as a band of
   its own. It needs the vertical space a band boundary would have given it, and
   it must not inherit the sibling questions' left rule. Added 25 August 2026
   for the Singapore page, whose band 03 runs to ten questions.

   TWO SELECTORS, BECAUSE THE PREVIEW AND THE LIVE PAGE HAVE DIFFERENT DOMS, and
   the first version of this rule had only the first of them, so it styled the
   preview and did nothing at all to the published page. The template renders
   `<div class="brf">` with the figure as a direct child; the Elementor emitter
   names the band `bl-brf` and wraps the image in its own `bl-join-band`
   container. Fabian saw the result on the live page: no spacing, and the
   photograph cutting through the heading underneath it.

   OVERFLOW IS THE OTHER HALF, and it is the part that caused the overlap. The
   container resolves to the 340px `max-height` while the image itself is laid
   out from its intrinsic aspect ratio and comes out ~371px, so with the default
   `overflow:visible` it spilled 15px past its own container and over the next
   question's h3. Measured in a browser at 1440px, not inferred. Clipping the
   wrapper is the minimal fix: it leaves the mobile `max-height:200px` rule and
   the object-fit crop untouched.

   LITERAL PIXELS, NOT var(--s5)/var(--s6), AND THAT IS THE REAL LESSON HERE.
   The first version used the tokens and the margin silently did nothing on the
   published page while `overflow` from the SAME rule worked. The tokens are
   defined on `:root` in the template's own stylesheet, and the Elementor page
   gets only the fenced CSS BLOCKS copied out of it, so on that page --s5 and
   --s6 resolve to nothing, the shorthand is invalid at computed value, and the
   browser drops that one declaration and keeps its neighbours. Measured on the
   live page: --s5, --s6, --measure and --hairline are all empty strings there,
   including on :root.

   This is not peculiar to this rule. 44 of the 207 declarations in the CSS
   pushed to every landing page reference a token that page never defines, so
   they have all been doing nothing. Raised separately: defining the tokens once
   would revive all 44 at once, which is a change across nineteen live pages and
   is not a thing to do inside a spacing fix. Until then, any rule written for
   the Elementor path uses literal values. */
.brf>.bl-join,
.bl-brf>.bl-join-band{margin:24px 0 32px;border-left:0;overflow:hidden}

/* ==========================================================================
   COUNTRY PAGES: their own spacing, added 25 August 2026 on Fabian's call.
   Scoped to `.bl-country`, which `build_landing_elementor.build()` stamps on
   every top-level band of a page whose spec kind is "country", so the other
   sixteen live pages are untouched.

   THE DIAGNOSIS, measured at 1440px rather than felt. The careers page, which
   he likes, is padded 0 48px, caps its content at 1240 and carries ZERO
   full-bleed images. The country pages carried two photographs rendering
   1596px wide inside a 1440px viewport: not merely full width but wider than
   the window. So the pictures were the only element breaking the margin, which
   is what made everything else feel cramped against them.

   Literal pixel values throughout, not var(--sN): the tokens do not exist on
   an Elementor page and a declaration that uses one is dropped whole. See the
   note above the join rule.
   ========================================================================== */

/* 0. THE TOKENS, DEFINED HERE FOR THE FIRST TIME ON AN ELEMENTOR PAGE, and
      this is the fix the other rules in this block were working around.

      The template defines the palette and the spacing scale on `:root` in its
      own stylesheet. The Elementor page receives only the fenced CSS BLOCKS cut
      out of that stylesheet, so on the published page every one of those tokens
      resolves to nothing, and a declaration that uses one is invalid at
      computed value and dropped whole while its neighbours survive. 44 of the
      207 declarations pushed to a landing page reference a token. All of them
      have been doing nothing.

      Three separate visible defects on 25 August 2026 were that single cause:
      the in-band photograph margin, which read as a specificity fight; the band
      rhythm; and the rail cards' background and border, which is why the rail
      looked like bare columns of text and not like cards.

      SCOPED TO `.bl-country`, deliberately. Defining these on `:root` would
      switch 44 dormant declarations on across nineteen live pages at once,
      changing fonts, colours and spacing nobody has previewed. Scoped, it
      reaches three pages, and only the one that gets re-pushed. Fabian's
      country-pages-only decision is what makes this safe to do at all.

      Values mirror the template constants. If a constant changes, this block is
      regenerated with it, because it is written from the same names. */
.bl-country{
  --navy:#1A3668; --navy-deep:#0F2246; --navy-tint:#E8EDF5;
  --gold:#C9A84C; --gold-text:#7A6529;
  --ink:#1B2434; --body:#414B5A; --muted:#656F7E;
  --hairline:#D8DEE8; --surface:#F4F6F9; --paper:#FFFFFF;
  --measure:36rem;
  --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px;
  --display:Jost; --sans:Inter}

/* 1. The photographs come back inside the content column and stop being
      full-bleed. They keep their 3:1 crop and their height cap; what changes
      is that they now begin and end where the text does.

      CONSTRAIN THE IMAGE, NOT THE CONTAINER, and there are two reasons.

      First, padding on the container does not win. Elementor styles container
      padding through `.elementor-element.e-con` with its own custom
      properties, which ties on specificity and beats a page rule on source
      order: the first version of this set `padding-left:56px` on
      `.bl-join-band` and the computed value came back `0px`. That is the same
      cascade this project has already recorded as "page CSS loses to
      Elementor's widget CSS".

      Second, and this is what the measurement actually showed, the overflow was
      never a layout width. The image's layout box was 1425, the full width of
      its parent, but it RENDERED 1533 wide at left -54, because the E14 drift
      effect scales it by about 7.6 per cent. That is what pushed it past the
      viewport and gave the document a horizontal scrollbar
      (scrollWidth 1511 against clientWidth 1425). Capping the image at the
      content measure fixes the full-bleed look and the overflow together,
      because 1240 scaled by 1.076 is 1334 and still inside the page. */
.bl-country .bl-join img{max-width:1240px;margin:0 auto}
.bl-country .bl-join-band{overflow:hidden}
/* EXCEPT ON A PRACTICE-AREA PAGE, where the picture is the third slice of the
   sandwich rather than a divider inside the measure, and has to be as wide as
   the blue band above it. Fabian, 27 August 2026: "the picture is narrow the
   header is wider." The cap above reached these pages only when the scope class
   was extended to them, so this removes a fault that arrived with that change
   rather than one that was ever designed. (0,3,0) against the (0,2,0) above. */
.bl-country.bl-practice .bl-join img{max-width:none;margin:0}
/* AND THE BAND HAS TO CLIP, or the picture takes the page with it. `.bl-join
   img` carries the `bl-join-drift` animation, which is a 1.107 scale. At the
   1240 cap that renders 1373px and stays inside a 1425px page by luck; at full
   bleed it renders 1578px, escapes to left:-76 and gives the whole document a
   horizontal scrollbar. Measured on /property-law/ at 1440x900: scrollWidth
   1501 against innerWidth 1440.
   `.bl-country .bl-join-band{overflow:hidden}` above does NOT catch this on the
   Elementor path: the emitter wraps the image in `elementor-widget-container`
   and there is no `.bl-join-band` element in that chain at all, which is why the
   country pages were saved by the width cap rather than by the clip. Both boxes
   named here, so the clip lands wherever the wrapper ends up. */
.bl-country.bl-practice .bl-join,
.bl-country.bl-practice .bl-join .elementor-widget-container{overflow:hidden}

/* 2. Air. The band rhythm is set by the emitter's own container padding, so
      this adds the part CSS can add: a wider measure for headings, more space
      under a band heading, and more room between the questions in band 03,
      which is the band he called overwhelming. */
.bl-country .bl-brf-i{padding-bottom:38px}
.bl-country .bl-brf-i+.bl-brf-i{padding-top:38px}
.bl-country .bl-brf-i p{max-width:34rem}
.bl-country .bl-brf-i p+p{margin-top:15px}

/* 3. The rail stops running edge to edge and sits on the same left edge as
      the text above it. The track still bleeds to the right, because the
      cut-off card IS the affordance that says "this scrolls": showing part of
      the next card is the strongest signal there is, and hiding it would trade
      a usability gain for a tidier edge. */
/* REWRITTEN 26 August 2026, and the rule it replaces was reasoned rather
      than measured. It padded the sticky inner 56px on the left and 0 on the
      right, on the belief that the page's own bands sit 56px from the viewport
      edge. MEASURED at 2560px they do not: `.bl-brf` is 1240px wide at x 653,
      centred, and every band on the page with it. The rail was the ONLY band
      running edge to edge, 2545px against everything else's 1240, and its
      heading column finished 1264px short of the track's right edge. That
      mismatch is what Fabian read as "still full width".

      So the stick takes the page's own column, centred. Its padding box is
      1352px, being the 1240 column plus its two 56px gutters, and that box is
      now the window the cards run through: the track can still bleed past the
      text on both sides, and it is in those two gutters that the mask below
      does its work. */
.bl-country .bl-rail-stick{max-width:1580px;margin:0 auto;padding:64px 0}
.bl-country .bl-rail-head,
.bl-country .bl-rail-bar,
.bl-country .bl-rail-note{max-width:1240px;margin-left:170px;margin-right:170px}
.bl-country .bl-rail-track{margin:28px 0 0 170px;padding:4px 0 18px}
/* The HEAD spans the column so the rule under it does, but its prose must not:
   1240px is about 130 characters and every other band on the page caps its
   paragraphs at 34rem. Only the block is wide. */
.bl-country .bl-rail-head .bl-intro{max-width:34rem}

/* 3a. THE ENDS TAPER OUT INSTEAD OF BEING CUT OFF. Fabian, 26 August 2026:
       "the right and left may taper off into blur".

       A MASK, not a blur filter and not a gradient overlay. `filter:blur()`
       would repaint on every frame of a band that already animates, and it is
       the one thing R04 on the effects register refuses. An overlay only works
       over a ground you know, which here happens to be flat but will not be on
       the next page that borrows this. `mask-image` fades the pixels
       themselves, costs nothing, and is correct over anything.

       IT CANNOT GO ON THE TRACK, and that is the part worth remembering. In
       the pinned mode the track is the element that translates, and a mask
       lives in its own element's coordinate space, so a mask on the track
       would travel with the cards and fade whichever card happened to be
       passing under it. It goes on the STICK, which does not move.

       Masking the stick would ordinarily fade the heading too. It does not,
       because the fade zones are exactly the two gutters: the gradient reaches
       full opacity at 56px, which is precisely where the heading, the rule and
       the note begin. Nothing in the text column is ever touched. The track
       starts on that same line, so at rest the first card is at full opacity,
       and the travel ends with the last card on the far line, so it is too.
       Only the cut card at the open end is ever faded, which is the one that
       should be. */
/* WIDENED AND LENGTHENED, 26 August 2026. Fabian: "widen the scroll window a
   bit, not to full width but slightly wider than the rest, and then taper off
   with the blur a bit more, so it stays sharp to the width like the rest, but
   then tapers into the blur over a bit more distance."

   That is two numbers and they are the same number. The window is the 1240
   column plus a 170px run on each side, and the mask is opaque across exactly
   that column and fades across exactly those runs. So the cards are sharp for
   precisely the width every other band occupies, and the fade begins on the
   column's own edge rather than somewhere near it. Widening the window without
   moving the fade would have blurred cards that are still inside the measure,
   which is the opposite of what was asked for. */
.bl-country .bl-rail-stick{
  -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,0) 0,#000 170px,
    #000 calc(100% - 170px),rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to right,rgba(0,0,0,0) 0,#000 170px,
    #000 calc(100% - 170px),rgba(0,0,0,0) 100%)}

/* 3b. THE TRAVEL, and the band's height with it. The shared keyframe carries
       `calc(100vw - 56px - 100%)`, which was right while the window was the
       viewport. The window is now the page's column, so the row must stop when
       its right edge reaches the column's right edge, which is
       `calc(<column> - 100%)`.

       Travel grew from 1880px to about 3090px in the process, because the same
       4328px row now passes through a 1240px window instead of a 2545px one.
       At the shared 320dvh that would have run the cards past at about one and
       a half times scroll speed on a 1440 screen, which reads as snatching.
       400dvh puts it back to roughly 1.1, so the page turns sideways at about
       the rate the reader is already scrolling. */
@supports (animation-timeline:view()){
 @media (min-width:1100px) and (prefers-reduced-motion:no-preference){
.bl-country .bl-rail,.bl-country.bl-rail{height:400dvh}
.bl-country .bl-rail-track{animation-name:bl-country-rail-travel}
  @keyframes bl-country-rail-travel{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(min(1240px,100vw - 112px) - 100%),0,0)}}
 }
}

/* 3c. The narrow end. The country rules above are two classes and the shared
       narrow block is one, so without this the 900px layout would keep the
       desktop gutters and lose its own. */
@media (max-width:900px){
.bl-country .bl-rail-stick{padding:44px 0;
    -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,0) 0,#000 26px,
      #000 calc(100% - 26px),rgba(0,0,0,0) 100%);
    mask-image:linear-gradient(to right,rgba(0,0,0,0) 0,#000 26px,
      #000 calc(100% - 26px),rgba(0,0,0,0) 100%)}
  .bl-country .bl-rail-head,
  .bl-country .bl-rail-bar,
.bl-country .bl-rail-note{margin-left:26px;margin-right:26px}
.bl-country .bl-rail-track{margin:24px 0 0 26px}
}

/* 4. BIGGER SLIDES, WITH A MARK. The desktop card was 360x258 carrying about
      30 words, and that was deliberate rather than broken: the 82vw rule people
      assume is the desktop one sits inside `@media (max-width:900px)`. Fabian
      asked for bigger slides carrying more, and the research is clear that a
      horizontal row suits graphic-led content, so each card now leads with a
      line mark and has room for a real sentence.

      `clamp` rather than a fixed width, so the card grows with the viewport but
      never gets so wide that two of them stop fitting: at 1440 this is 520px,
      which shows two whole cards and the edge of a third. That partial third
      card is the affordance and it is the reason the track still bleeds right. */
/* THE CARDS HAD NO VISIBLE EDGE, and the screenshot is what showed it. The
   base rule sets `background:var(--paper);border:1px solid var(--hairline)`,
   and BOTH are tokens, so both are dropped on an Elementor page and the cards
   rendered as bare columns of text. That is a large part of why the rail read
   as thin: there was nothing to see but words. Literals restore the card. */
/* THE CARD, rebuilt 26 August 2026. Fabian: the cards are "still missing
   something", the icons "are not well positioned and sized", and the whole
   thing has to be more attractive. He is right on all three, and MEASURING the
   live page showed why: three of the four rules that were supposed to dress
   this card never reached it.

     * `h3` rendered at 19px/1.3, not the 22px/1.25 set here, because Elementor
       generates `.elementor-<page> .elementor-element.elementor-element-<id>
       .elementor-heading-title`, which is (0,4,0) and beats
       `.bl-country .bl-rail-card h3` at (0,2,1). Page CSS also prints BEFORE
       the widget CSS, so a tie loses as well.
     * The body ran at 14.5px, not 16px, because the rule targets `p` and an
       Elementor text widget emits no `<p>` at all: the words sit as a bare
       text node inside `.elementor-widget-container`.
     * The sector label was never uppercase and never tracked, because the rule
       targeted `.eb`, a class the Elementor emitter has never put on that
       widget.

   THE FIX IS NOT A SPECIFICITY WAR. Typography that Elementor generates is set
   in the EMITTER, where it cannot be outranked, so `e_work` now emits 22/1.25
   and 16/1.62 directly. This block keeps only what Elementor never writes:
   layout, the mark, casing, tracking and the rule at the foot. Where a class
   is needed it is now the same class in both renderers (`bl-rail-sector`),
   which is what stops this recurring.

   The card also held 177px of content in a 380px box, so more than half of
   every one of them was empty. The floor is gone, the row equalises the cards
   at the tallest by itself, and the foot of the card now carries something. */
/* TALLER, AND WITH THE SLOT ALREADY CUT. Fabian, 26 August 2026: the cards
   "can be a bit higher", and "we will have some connected pages and add a read
   more button later ... but the space should be created already".
   So the floor comes back at 430, and the foot of the card is a 48px strip
   rather than a line of text. Today the strip holds the position index alone,
   left aligned. When the link arrives it goes on the right of the same strip
   and NOTHING ELSE MOVES, which is the point of reserving it now: a card that
   grows a control later re-flows the whole rail and every screenshot with it. */
.bl-country .bl-rail-card{
  flex:0 0 clamp(360px,40vw,520px);width:clamp(360px,40vw,520px);
  min-height:430px;padding:26px 30px 18px;
  display:flex;flex-direction:column;gap:0;
  background:#FFFFFF;border:1px solid #D8DEE8;border-radius:3px;
  box-shadow:0 1px 2px rgba(26,54,104,.04);
  transition:border-color 200ms cubic-bezier(.2,.6,.3,1),
             box-shadow 200ms cubic-bezier(.2,.6,.3,1)}

/* THE MARK STOPS FLOATING. It was a 34px block sitting on its own line above
   the label with 26px under it, which is what "not well positioned and sized"
   describes: a loose glyph with nothing holding it. It is now the leading item
   of the label's own line, in a 46px tile with a ground and a hairline, so it
   reads as a deliberate object and the card gains a proper top row instead of
   two thin ones. The mark itself is 24px inside that tile, which is the size
   its 32px viewBox and 1.6 stroke were drawn for. */
.bl-country .bl-rail-card .bl-rail-sector{
  display:flex;align-items:center;gap:14px;margin:0 0 20px;
  text-transform:uppercase;letter-spacing:.11em}
.bl-country .bl-rail-card .bl-rail-sector::before{
  content:"";flex:0 0 46px;width:46px;height:46px;
  background-color:#F1F4FA;border:1px solid #E1E7F1;border-radius:3px;
  background-repeat:no-repeat;background-position:center;
  background-size:24px 24px}

/* The preview's own type. The Elementor page takes the same numbers from the
   emitter; both are stated so a change to one is visibly a change to both. */
.bl-country .bl-rail-card h3{font-size:22px;line-height:1.25;margin:0 0 12px}
.bl-country .bl-rail-card p{font-size:16px;line-height:1.62;margin:0}

/* THE FOOT OF THE CARD, and it is wayfinding rather than decoration. The one
   thing a horizontal row does not tell a reader is where in it they are, which
   is the whole of the NN/g objection to scroll-driven horizontal movement and
   the reason C13 sits on the register. "03 / 08" answers it on every card, at
   no cost, and it fills the slack that made the cards look unfinished. The
   content per card is written by `rail_marks_css()` beside the marks. */
.bl-country .bl-rail-card::after{
  margin-top:auto;padding-top:18px;border-top:1px solid #E7EBF2;
  min-height:48px;display:flex;align-items:center;
  font:500 12px/1 "Jost","Futura","Century Gothic",ui-sans-serif,sans-serif;
  letter-spacing:.12em;color:#6A7382;font-variant-numeric:tabular-nums}

/* The house hover, being gold arriving where the hairline was, plus the lift
   the engagement cards already use. One idiom, not a second effect: the rail's
   travel remains the band's one signature effect. */
.bl-country .bl-rail-card:hover{border-color:#C9A84C;
  box-shadow:0 8px 22px rgba(26,54,104,.09)}

/* The narrow card, and it has to sit AFTER the desktop rule rather than with
   the other narrow rules above. The shared narrow block reaches the card at
   one class and this one at two, so the country rule wins inside the media
   query as well; at equal specificity only source order separates them, and
   the first attempt at this sat above the desktop rule and did nothing. Left
   alone the phone keeps a 360px desktop card, which is 92 per cent of a 390px
   screen and leaves no edge of the next card to say the row scrolls. */
@media (max-width:900px){
.bl-country .bl-rail-card{flex:0 0 82vw;width:82vw;padding:22px 24px 18px}
.bl-country .bl-rail-card .bl-rail-sector::before{
    flex:0 0 40px;width:40px;height:40px;background-size:21px 21px}
}

.bl-country .bl-rail-card:nth-child(1) .bl-rail-sector::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231A3668' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='14' height='12' rx='1'/%3E%3Cpath d='M3 15h14'/%3E%3Cpath d='M21 17h8'/%3E%3Cpath d='M26 14l3 3-3 3'/%3E%3C/svg%3E")}
.bl-country .bl-rail-card:nth-child(1)::after{content:"01 / 08"}
.bl-country .bl-rail-card:nth-child(2) .bl-rail-sector::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231A3668' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='16' r='4'/%3E%3Ccircle cx='24' cy='16' r='4'/%3E%3Cpath d='M12 16h8'/%3E%3C/svg%3E")}
.bl-country .bl-rail-card:nth-child(2)::after{content:"02 / 08"}
.bl-country .bl-rail-card:nth-child(3) .bl-rail-sector::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231A3668' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 4H7a3 3 0 0 0-3 3v10l11 11 11-11z'/%3E%3Ccircle cx='11' cy='11' r='1.6'/%3E%3C/svg%3E")}
.bl-country .bl-rail-card:nth-child(3)::after{content:"03 / 08"}
.bl-country .bl-rail-card:nth-child(4) .bl-rail-sector::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231A3668' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='11' y='3' width='10' height='7' rx='1'/%3E%3Crect x='3' y='22' width='9' height='7' rx='1'/%3E%3Crect x='20' y='22' width='9' height='7' rx='1'/%3E%3Cpath d='M16 10v6H7.5v6M16 16h8.5v6'/%3E%3C/svg%3E")}
.bl-country .bl-rail-card:nth-child(4)::after{content:"04 / 08"}
.bl-country .bl-rail-card:nth-child(5) .bl-rail-sector::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231A3668' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='4'/%3E%3Cpath d='M4 27a7 7 0 0 1 14 0'/%3E%3Ccircle cx='23' cy='13' r='3'/%3E%3Cpath d='M18 27a5 5 0 0 1 10 0'/%3E%3C/svg%3E")}
.bl-country .bl-rail-card:nth-child(5)::after{content:"05 / 08"}
.bl-country .bl-rail-card:nth-child(6) .bl-rail-sector::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231A3668' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14L16 5l12 9'/%3E%3Cpath d='M7 14v14h18V14'/%3E%3Crect x='13' y='19' width='6' height='9'/%3E%3C/svg%3E")}
.bl-country .bl-rail-card:nth-child(6)::after{content:"06 / 08"}
.bl-country .bl-rail-card:nth-child(7) .bl-rail-sector::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231A3668' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='16' height='16' rx='2'/%3E%3Crect x='13' y='8' width='16' height='16' rx='2'/%3E%3C/svg%3E")}
.bl-country .bl-rail-card:nth-child(7)::after{content:"07 / 08"}
.bl-country .bl-rail-card:nth-child(8) .bl-rail-sector::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231A3668' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h16'/%3E%3Cpath d='M15 8l4 4-4 4'/%3E%3Cpath d='M29 20H13'/%3E%3Cpath d='M17 24l-4-4 4-4'/%3E%3C/svg%3E")}
.bl-country .bl-rail-card:nth-child(8)::after{content:"08 / 08"}
.bl-join img{display:block;width:100%;max-height:340px;object-fit:cover;
  object-position:center 55%}
@media (max-width:900px){.bl-join img{max-height:200px}}

/* E14, added 24 August 2026 on Fabian's instruction to loosen the page up.
   The photograph drifts and settles as it crosses the viewport: it enters
   slightly oversized and offset, and resolves to its true scale by the time it
   leaves. It is the same mechanic as E08 and E12, being a CSS scroll-driven
   animation on a compositor-only property, so there is no script, no library
   and nothing on the main thread.

   Scale, not translate alone: translating a full-bleed image would show the
   band's ground at one edge, so the 1.06 floor is what guarantees the frame
   stays covered through the whole travel. Keep any change to the keyframes
   above that floor.

   All three guards, and the fallback is the plain static photograph, which is
   the same content at the same crop. Nothing is hidden outside the guards. */
@supports (animation-timeline:view()){
  @media (min-width:1100px) and (prefers-reduced-motion:no-preference){
    .bl-join img{animation:bl-join-drift linear both;
      animation-timeline:view();animation-range:entry 0% exit 100%;
      will-change:transform}
    @keyframes bl-join-drift{
      from{transform:scale(1.12) translate3d(0,-1.5%,0)}
      to{transform:scale(1.06) translate3d(0,1.5%,0)}}
  }
}


/* rail */

/* 04 work: the pinned horizontal rail --------------------------------
   Adopted 18 August 2026, replacing the 2 x 4 tile grid. Mechanic and full
   reasoning in build_hscroll_rail.py: a tall outer, a sticky inner that pins
   for its length, and a no-wrap row that translates on x as the page scrolls.
   No JavaScript and no GSAP, because CSS scroll-driven animation does it
   natively, which is what keeps the band at 0 html widgets in Elementor.

   The band deliberately does NOT carry `.band`: it supplies its own padding
   and its own top and bottom rules, and it opts out of the scroll reveal,
   because motion here is one effect at a time and the rail's travel IS the
   effect. */
.bl-rail{position:relative;background:var(--surface);
  border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.bl-rail-stick{padding:64px 56px}
.bl-rail-head{max-width:36rem}
/* The gold progress rule, as a pseudo-element, so neither the preview nor the
   Elementor tree needs a child for the fill. Static in the fallback: a
   hairline and nothing more, because a bar that cannot fill must not pretend
   it can. */
.bl-rail-bar{position:relative;height:2px;background:var(--hairline);
  margin:28px 0 0}
.bl-rail-bar::after{content:"";position:absolute;inset:0 auto 0 0;width:0;
  background:var(--gold)}
/* Baseline everywhere: a keyboard-reachable snap rail. Full bleed to the
   right, so the row visibly continues past the edge. */
.bl-rail-track{display:flex;gap:24px;margin:28px -56px 0 0;
  padding:4px 56px 18px 0;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;scrollbar-color:var(--navy) var(--hairline)}
.bl-rail-card{flex:0 0 360px;width:360px;scroll-snap-align:start;
  background:var(--paper);border:1px solid var(--hairline);border-radius:4px;
  padding:26px 28px;display:flex;flex-direction:column;
  transition:border-color 200ms cubic-bezier(.2,.6,.3,1)}
.bl-rail-card:hover{border-color:var(--gold)}
.bl-rail-card .sector{font:500 11.5px/1.4 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold-text)}
.bl-rail-card h3{font-size:19px;margin:10px 0 12px;line-height:1.3}
.bl-rail-card .role{font-size:14.5px;color:#5C6675}
.bl-rail-card .val{font-family:var(--display);font-size:15px;color:var(--navy);
  margin-top:auto;padding-top:12px;border-top:1px solid var(--hairline);
  font-variant-numeric:tabular-nums}
.bl-rail-note{margin-top:22px;font-size:14px;color:var(--muted);max-width:38rem}

/* The pin is an ENHANCEMENT, not the design. Firefox stable still has
   scroll-driven animations behind a flag, so support is roughly 82% and this
   is gated three ways: the feature must exist, the viewport must be wide
   enough for a pin to mean anything, and the visitor must not have asked for
   less motion. Anything else keeps the snap rail above. */
@supports (animation-timeline:view()){
 @media (min-width:1100px) and (prefers-reduced-motion:no-preference){
  .bl-rail{height:320dvh;view-timeline-name:--bl-rail;view-timeline-axis:block}
  .bl-rail-stick{position:sticky;top:0;height:100vh;display:flex;
    flex-direction:column;justify-content:center;overflow:hidden}
  /* `width:max-content` is LOAD BEARING and was found by measuring, not by
     reading. Without it the track's layout width is whatever the sticky
     parent allows, so the 100% in the keyframe resolves to about 1384px
     rather than the row's real width, and the row travels 15px forwards
     instead of the full distance back. It must NOT be set in the fallback,
     where the track is itself the scroll container. */
  .bl-rail-track{overflow:visible;scroll-snap-type:none;padding-bottom:0;
    width:max-content}
  .bl-rail-track,.bl-rail-bar::after{animation-timeline:--bl-rail;
    animation-range:contain 0% contain 100%;
    animation-timing-function:linear;animation-fill-mode:both}
  .bl-rail-track{animation-name:bl-rail-travel}
  .bl-rail-bar::after{animation-name:bl-rail-fill}
  /* Travel is the row's own overflow: its full width less what is on screen,
     computed from the track, so a ninth card needs no maths here. */
  @keyframes bl-rail-travel{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(100vw - 56px - 100%),0,0)}
  }
  @keyframes bl-rail-fill{from{width:0}to{width:100%}}
 }
}
/* the rail keeps its side padding in step with .band at narrow widths. This
   lives inside the sentinels so the Elementor copy gets it too. */
@media (max-width:900px){
  .bl-rail-stick{padding:44px 26px}
  .bl-rail-track{margin-right:-26px;padding-right:26px}
  .bl-rail-card{flex-basis:82vw;width:82vw}
}


/* pair */

.bl-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:var(--s5)}
.bl-pair figure{margin:0}
.bl-pair img,.bl-pair-img img{width:100%;height:auto;display:block;
  border:1px solid #D8DEE8;border-radius:4px}
.bl-pair figcaption,.bl-pair .bl-pair-cap{font-size:13.5px;color:#656F7E;
  margin-top:10px;padding-top:8px;border-top:1px solid #D8DEE8}
@media(max-width:820px){.bl-pair{grid-template-columns:1fr}}


/* brief */

/* 03 what you need to know, Elementor classes ------------------------
   The band the country pages exist for, and the one no competitor page in
   either family carries.

   DELIBERATELY NOT A DISCLOSURE WIDGET, and that is load bearing rather
   than aesthetic. AI crawlers read raw HTML and do not execute JavaScript,
   so anything behind a tab or an accordion is invisible to exactly the
   systems P153 exists to reach. `nested-accordion` stores perfectly and
   would pass every check we run while hiding the most valuable content on
   the page. The instinct on a band this long is to collapse it. Resist it:
   the length is the value.

   The left hairline turning gold on hover is the site's single hover idiom,
   the same one `.jud` uses, so the band introduces no new motion. */
.bl-brf-i{border-left:2px solid #D8DEE8;
  transition:border-left-color 200ms cubic-bezier(.2,.6,.3,1)}
.bl-brf-i:hover{border-left-color:#C9A84C}
.bl-brf-i+.bl-brf-i{border-top:1px solid #D8DEE8;padding-top:28px}
.bl-brf-i p{max-width:36rem}
@media (max-width:860px){
  .bl-brf-i{padding-left:14px!important}
}


/* qbento */

/* 03 AS A BENTO, with a panel behind each tile. Fabian, 26 August 2026: the
   band is to be a bento box design, the size of a box set by the importance of
   the topic, the text on the box short, some boxes carrying a picture, and
   hovering or clicking a box opening a panel "similar to the drop down on the
   header", meaning the rest of the page blurs behind it, carrying the full
   text, suggested other articles and the expertise and industries.

   ============================================================ THE ONE RULE
   THIS BAND HAS TO SATISFY, and it is the rule the prose version was built on:
   AI CRAWLERS READ RAW HTML AND DO NOT EXECUTE JAVASCRIPT. Anything behind a
   tab, an accordion or a script-built panel is invisible to exactly the systems
   P153 exists to reach, and this band is the most valuable content on the page.
   The BRIEF block above says so in terms and says to resist collapsing it.

   This design does not collapse it, and there are two reasons rather than one.

   FIRST, the split is answer-first. The tile carries the QUESTION as its h3 and
   the DIRECT ANSWER as its paragraph, which is the shape the whole band was
   written to, and that stays in plain sight. Only the reasoning paragraphs move
   into the panel. An answer engine lifting a passage still finds the question
   and its answer adjacent and visible.

   SECOND, the panel is CSS, not script. Every word of it is real text in the
   served HTML, reached by `:target` and revealed by a rule. A crawler that
   reads raw HTML reads all of it. That is the difference between this and an
   accordion widget, and it is why the mechanism had to be `:target` rather than
   anything driven by JavaScript.

   ================================================== AND ZERO HTML WIDGETS
   Containers, headings, text and images only. The panel is a container with an
   `_element_id`; the tile heading carries a link to that id. Both renderers
   emit the same classes, which is the lesson the rail taught this week: a rule
   written against a class that exists in only one of them does nothing, and
   says nothing while doing it. */

/* -------------------------------------------------------------- the bento */
/* A GRID, and never nested percentage widths. Twelve fractions, because the
   span arithmetic is the same at four and twelve leaves room for a tier that is
   not a quarter. Every row must total twelve exactly; `ev2.grid_container()`
   runs the browser own auto-placement over the spans at build time and refuses
   to emit if a row is ragged or a tile overruns the track. */
.bl-qb{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;
  margin-top:32px}
.bl-qb-w3{grid-column:span 3}
.bl-qb-w4{grid-column:span 4}
.bl-qb-w6{grid-column:span 6}
.bl-qb-w8{grid-column:span 8}
.bl-qb-w12{grid-column:span 12}

/* --------------------------------------------------------------- the tile */
.bl-qt{position:relative;display:flex;flex-direction:column;
  background:#FFFFFF;border:1px solid #D8DEE8;border-radius:3px;
  padding:26px 28px 76px;overflow:hidden;
  transition:border-color 200ms cubic-bezier(.2,.6,.3,1),
             box-shadow 200ms cubic-bezier(.2,.6,.3,1)}
/* The house hover, being gold arriving where the hairline was, plus the lift
   the engagement cards already use. No new idiom is introduced. */
.bl-qt:hover{border-color:#C9A84C;box-shadow:0 8px 22px rgba(26,54,104,.09)}
/* THE WHOLE TILE IS THE CONTROL, from ONE link. The question own anchor is
   stretched over the tile, which is the standard card-link overlay: one link in
   the accessibility tree, the tile clickable everywhere, and nothing emitted
   that a colleague cannot edit in the Elementor panel. A second link inside a
   card is what makes a card unreadable to a screen reader, so there is only
   this one and the read-the-detail line below it is a label, not an anchor. */
.bl-qt h3{margin:0 0 10px;font-size:21px;line-height:1.25}
.bl-qt h3 a{color:inherit;text-decoration:none}
.bl-qt h3 a::after{content:"";position:absolute;inset:0;z-index:2}
.bl-qt .bl-ans{margin:0;font-size:15.5px;line-height:1.6;color:#4A5464}
/* #6A7382 AND NOT #8A9099. The contrast audit measured the lighter grey at
   3.22:1 on white at 11.5px against the 4.5 the guideline requires, and it is
   right: these are small, tracked, uppercase labels, which is the hardest
   case there is. #6A7382 measures 4.79:1 and is close enough in tone that
   nothing about the design changes. Applied everywhere the light grey sat on
   white: the tile number, the rail card index, the panel foot labels and the
   disclaimer label. */
.bl-qt-n{font:500 12px/1 "Jost","Futura",ui-sans-serif,sans-serif;
  letter-spacing:.12em;color:#6A7382;margin:0 0 14px;
  font-variant-numeric:tabular-nums}
/* THE PLUS ALONE. Fabian, 26 August 2026: take the words off and make the
   icon bigger, "that will be intuitive enough". He is right, and it is better
   than the label was: a plus on a card is understood without being read, it
   survives translation, and it removes a line of furniture from nine tiles.

   IT IS NOW A PSEUDO-ELEMENT OF THE TILE and not of a paragraph, so the markup
   carries one node fewer in both renderers and the icon sits at the same point
   in every tile of a row whatever the answer's length. The card reserves the
   room for it in its own bottom padding. */
/* A LINKED TILE CARRIES AN ARROW, NOT A PLUS. The plus is a promise that
   something opens in place; an arrow is a promise that you leave. Using one mark
   for both would make the two variants of this band indistinguishable to a
   reader, which is the one thing a benchmark component must not do. */
.bl-qt.bl-qt-link::after{content:"→"}
/* The close control returns the reader to this tile, so it has to land
   clear of the fixed header rather than underneath it. */
.bl-qt{scroll-margin-top:96px}
.bl-qt::after{content:"+";position:absolute;right:22px;bottom:20px;z-index:1;
  width:40px;height:40px;display:grid;place-items:center;
  font:400 24px/1 "Jost","Futura",ui-sans-serif,sans-serif;
  border:1px solid #D8DEE8;border-radius:3px;color:#5C6675;
  transition:border-color 200ms cubic-bezier(.2,.6,.3,1),
             color 200ms cubic-bezier(.2,.6,.3,1),
             background-color 200ms cubic-bezier(.2,.6,.3,1)}
.bl-qt:hover::after{border-color:#C9A84C;color:#1A3668;background:#FCFAF3}
/* A tile that carries a picture. A REAL image widget with a real attachment,
   never a CSS background: a background carries no alt text, scores nothing on
   the Rank Math media test and gives a screen reader nothing. */
.bl-qt-pic img{display:block;width:100%;height:150px;object-fit:cover;
  border-radius:2px;margin:0 0 18px}
/* The large tiles take their heading up a step, so importance reads as size
   before it reads as position. */
/* THE SPAN CLASS SITS ON THE TILE ITSELF, so the tile IS the grid item and
   stretches to its row by itself. The first build wrapped each tile in a
   spanning div and the tiles then sat at their natural heights inside rows of a
   different height: 244px and 390px side by side in row one. It also matched
   how Elementor does it, where `grid_column` is a setting on the child
   container and there is no wrapper to put it on. One element fewer and one
   class of defect fewer. */
.bl-qt.bl-qb-w6 h3,.bl-qt.bl-qb-w8 h3,.bl-qt.bl-qb-w12 h3{font-size:24px}
.bl-qt.bl-qb-w12 .bl-ans{max-width:52rem}

/* A BOX THAT IS ONLY A PICTURE. Same border, same radius, same hairline as a
   tile, so it sits in the grid as a member of the set rather than as a hole
   with a photograph in it. No padding: the picture is the box. It stretches to
   its row like every other tile, which is why `height:100%` and `object-fit`
   are both needed; a fixed height would leave a white strip whenever the row
   grew. */
.bl-qt-photo{position:relative;margin:0;overflow:hidden;
  border:1px solid #D8DEE8;border-radius:3px;background:#EDF1F7}
.bl-qt-photo img{display:block;width:100%;height:100%;min-height:220px;
  object-fit:cover}

/* -------------------------------------------------------------- the panel */
/* Closed state. `visibility` rather than `display`, so the text stays in the
   layout tree and nothing about its presence is conditional. */
.bl-qp{position:fixed;inset:0;z-index:60;display:grid;place-items:center;
  padding:5vh 24px;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .32s cubic-bezier(.4,0,.6,1),
             visibility .32s steps(1)}
.bl-qp:target{opacity:1;visibility:visible;pointer-events:auto}

/* THE CURTAIN, and it is the header own mechanic. The header blurs the page
   behind its mega panel with a fixed layer carrying
   `backdrop-filter: saturate(1.8) blur(20px)`; this is the same layer at the
   same values, which is what makes the two read as one system.
   IT IS A PSEUDO-ELEMENT OF THE PANEL AND NOT `body::after`. The header
   already owns `body::after` and defines it in the furniture CSS, so a second
   definition here would be two rules fighting over one element on every page,
   and would leave this band depending on furniture it does not itself emit.
   Owning its own layer costs one pseudo-element and no coupling.
   Note the trap that shaped the header version: `backdrop-filter` makes an
   element the containing block for its fixed descendants, so nothing fixed may
   be nested inside this layer. Nothing is. */
.bl-qp::before{content:"";position:fixed;inset:0;
  pointer-events:none;background:rgba(27,36,52,.16);
  -webkit-backdrop-filter:saturate(1.8) blur(20px);
  backdrop-filter:saturate(1.8) blur(20px)}

/* CLICK ANYWHERE OFF THE PANEL TO CLOSE, from the same single link that draws
   the Close control. Its anchor is stretched over the whole viewport BEHIND
   the box, so the scrim is clickable without emitting a giant invisible button
   that a colleague would find in the Elementor panel and not understand.
   ESCAPE DOES NOT CLOSE IT. `:target` has no keyboard dismissal and the only
   route to one is a snippet. Recorded rather than pretended. */
/* Z-INDEX 1, AND IT MUST BE BELOW THE BOX. At 3 this element became a stacking
   context ABOVE the box, so its full-viewport scrim pseudo, although set to
   z-index -1, painted above the box as well and swallowed every click inside
   the panel: clicking the text closed the panel. Caught with
   `elementFromPoint` at the centre of the screen, which returned the close link
   where it should have returned the box. A negative z-index child cannot escape
   its own context, so the context is what had to move. */
.bl-qp-x{position:absolute;top:18px;right:20px;z-index:1;
  font:500 12px/1 "Jost","Futura",ui-sans-serif,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;color:#5C6675;
  text-decoration:none;padding:8px 10px;border-radius:3px}
.bl-qp-x:hover{color:#1A3668;box-shadow:inset 0 -2px 0 #C9A84C}
.bl-qp-x::before{content:"";position:fixed;inset:0;z-index:-1}

/* 720, NOT 820. At 820 with the prose capped at a 38rem measure the box had a
   200px empty column down its right side and read as a half-filled sheet. The
   measure is the constraint that matters, so the BOX is sized to it: 720 less
   96px of padding is 624, which is that measure, and the cap comes off. */
.bl-qp-box{position:relative;z-index:2;width:min(720px,100%);
  max-height:88vh;overflow-y:auto;overscroll-behavior:contain;
  background:#FFFFFF;border:1px solid #D8DEE8;border-radius:4px;
  box-shadow:0 24px 60px rgba(26,54,104,.18);padding:44px 48px 40px}
/* THE PANEL TITLE IS NOT A HEADING, and that is deliberate rather than lazy.
   The question is already an h3 on the tile, which is where an answer engine
   should find it; emitting it again in the panel gave the band EIGHTEEN h3s for
   nine questions and doubled every entry in the document outline. Caught by
   reading the outline the build prints, not by looking at the page. The dialog
   is still named, because `aria-labelledby` points at this paragraph. */
/* SCOPED TO THE BOX, because `.bl-qp-h` alone is (0,1,0) and `.bl-qp-box p` is
   (0,1,1), so the body rule below won and the panel title rendered at 16px.
   Demoting the title from a heading to a paragraph is what exposed it. */
.bl-qp-box .bl-qp-h{margin:0 0 6px;font-size:27px;line-height:1.2;font-weight:500;
  color:#1B2434;
  font-family:"Jost","Futura","Century Gothic",ui-sans-serif,sans-serif;
  letter-spacing:-.015em}
.bl-qp-eb{font:500 11.5px/1.4 "Inter",ui-sans-serif,sans-serif;
  letter-spacing:.13em;text-transform:uppercase;color:#8A7434;margin:0 0 14px}
/* The ANSWER leads and is set apart from the reasoning under it, which it was
   not: both were inheriting the page's 17px and read as one undifferentiated
   column. The answer is the thing the reader came for. */
.bl-qp-box .bl-ans{font-size:18px;line-height:1.58;color:#1B2434;margin:16px 0 0}
.bl-qp-box p{font-size:16px;line-height:1.66;color:#3F4A5C}
.bl-qp-box p+p{margin-top:15px}

/* The foot of the panel: what to read next, and which areas this work sits in.
   Two columns on a wide panel, stacked on a narrow one. A column with nothing
   in it is not emitted at all, and that matters here: four of the nine German
   questions have no article of ours to point at yet, and an empty heading would
   advertise the gap rather than close it. */
.bl-qp-foot{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;
  margin-top:32px;padding-top:24px;border-top:1px solid #E7EBF2}
.bl-qp-foot .bl-lb{font:500 11.5px/1.4 "Inter",ui-sans-serif,sans-serif;
  letter-spacing:.13em;text-transform:uppercase;color:#6A7382;margin:0 0 12px}
.bl-qp-foot ul{margin:0;padding:0;list-style:none}
.bl-qp-foot li+li{margin-top:9px}
.bl-qp-foot a{font-size:15px;color:#1A3668;text-decoration:none;
  box-shadow:inset 0 -1px 0 #D8DEE8;
  transition:box-shadow 160ms cubic-bezier(.2,.6,.3,1)}
.bl-qp-foot a:hover{box-shadow:inset 0 -2px 0 #C9A84C}

/* ------------------------------------------------------------- responsive */
/* A bento is a desktop idea. Two fractions at tablet, one at phone, and every
   tile falls back to a full-width tier so no row can be left ragged. */
@media (max-width:1024px){
  .bl-qb{grid-template-columns:repeat(2,1fr);gap:14px}
  /* EVERY TILE IS ONE FRACTION AT TABLET, the full-width tier included. It
     used to keep a span of 2 there, which put an odd number of cells into a
     two-fraction grid and left a hole that `grid_container` refuses to build.
     One fraction for all of them, and the orphan rule below is the only
     exception. */
  .bl-qb-w3,.bl-qb-w4,.bl-qb-w6,.bl-qb-w8,.bl-qb-w12{grid-column:span 1}
  /* AN ODD NUMBER OF TILES LEAVES THE LAST ONE ALONE IN A HALF-EMPTY ROW at
     two columns, which is what nine questions do. `:last-child:nth-child(odd)`
     matches only when the last tile sits at an odd index, so it widens the
     orphan and leaves an even set untouched. Measured at 1000px: tile 9 was
     430px in a row of its own. */
  .bl-qb>.bl-qt:last-child:nth-child(odd){grid-column:span 2}
  .bl-qt.bl-qb-w6 h3,.bl-qt.bl-qb-w8 h3,.bl-qt.bl-qb-w12 h3{font-size:21px}
}
@media (max-width:700px){
  .bl-qb{grid-template-columns:1fr}
  .bl-qb-w12{grid-column:span 1}
  .bl-qp{padding:0}
  .bl-qp-box{width:100%;max-height:100vh;height:100%;border-radius:0;
    border:0;padding:56px 24px 32px}
}
@media (prefers-reduced-motion:reduce){
  .bl-qp{transition:none}
  .bl-qt{transition:none}
}


/* notes */

/* The local disclaimer, added 26 August 2026. Deliberately the quietest thing
   on the page: no eyebrow rule, no heading, small type, muted, and a hairline
   above it so it reads as fine print rather than as a band with something to
   say. It is last, after the call to action, which is where a reader looks for
   this and nowhere else. */
/* NO PADDING HERE. It never applied in the preview either, losing to
   `.bl-country .bl-band`, so the approved page shows the full 128px rhythm.
   On the Elementor path nothing outranked it and the band grew 74px. */
.bl-notes{border-top:1px solid #E7EBF2}
.bl-notes .lb{font:500 11.5px/1.4 "Inter",ui-sans-serif,sans-serif;
  letter-spacing:.13em;text-transform:uppercase;color:#6A7382;margin:0 0 12px}
.bl-notes p{font-size:14px;line-height:1.62;color:#6A7382;max-width:46rem;
  margin:0}
.bl-notes p+p{margin-top:9px}


/* elem */

/* WHAT THE EMITTER CANNOT SAY, SAID LONG ENOUGH TO WIN.
   Elementor writes a rule per element as
   `.elementor-<page> .elementor-element.elementor-element-<id>`, which is
   (0,4,0) and is printed AFTER the page's own CSS, so a page rule loses on
   specificity and on order. Anything structural the emitter CAN express is set
   in the emitter for that reason. These three cannot be:

     * the band's horizontal padding is a `max()` against the viewport, and
       Elementor's padding control takes fixed units only;
     * the hero's inner padding has to stay a multiple of the 58px mark lattice
       and belongs beside the lattice, not in a widget setting;
     * the hero's inner measure is a max-width, which Elementor has no control
       for on an unboxed container.

   Five classes clears (0,4,0). The `:not()`s add their own class each, which is
   why the band rule reads (0,6,0) and is deliberate rather than defensive. */
.bl-country .bl-band.e-con.elementor-element.e-parent:not(.bl-pos):not(.bl-facts),.bl-country.bl-band.e-con.elementor-element.e-parent:not(.bl-pos):not(.bl-facts){
  padding-left:max(56px,calc((100% - 1240px) / 2));
  padding-right:max(56px,calc((100% - 1240px) / 2))}

.bl-country .bl-pos .bl-pos-inner.e-con.elementor-element,.bl-country.bl-pos .bl-pos-inner.e-con.elementor-element{
  max-width:1352px;margin-left:auto;margin-right:auto;
  /* THE SAME CELL MULTIPLES AS THE PREVIEW. This rule exists only to outrank
     Elementor's per-element padding, so it has to carry the value rather than
     defer to the one in the HERO block, and the two must not drift. */
  padding:calc(var(--bl-cell) * 4.586) 56px calc(var(--bl-cell) * 1.9)}

/* THE FACTS BAND, PROPORTIONAL ON THE ELEMENTOR PATH. Its figure, label and
   cell padding are all set by the emitter, so all three arrive as per-element
   rules and a page rule cannot reach them. Measured before this: the band stood
   at 208px against the 135 its own `min-height` asked for, which is why the pair
   came in at 90 per cent and not 80. */
.bl-country.bl-facts .bl-fact-v.elementor-widget.elementor-element .elementor-heading-title{
  font-size:clamp(21px,2.7vh,34px)}
.bl-country.bl-facts .bl-fact-k.elementor-widget.elementor-element .elementor-heading-title{
  font-size:clamp(10.5px,1.05vh,12px)}
.bl-country.bl-facts .bl-fact.e-con.elementor-element{
  padding-top:calc(var(--bl-cell) * 0.586);
  padding-bottom:calc(var(--bl-cell) * 0.586)}

/* RELATIVE TYPE ON THE ELEMENTOR PATH. The emitter sets these sizes on the
   widget and Elementor prints them at (0,4,0) after the page CSS, so the clamps
   in the HERO block reach the preview and lose here. Six classes clears it, and
   the target is the element Elementor styles rather than the wrapper. */
.bl-country .bl-pos-inner .bl-pos-line.elementor-widget.elementor-element .elementor-heading-title{
  font-size:clamp(29px,4.1vh,42px)}
.bl-country .bl-pos-inner .bl-pos-eb.elementor-widget.elementor-element .elementor-heading-title{
  font-size:clamp(11px,1.05vh,13px)}
.bl-country .bl-pos-inner .bl-pos-lead.elementor-widget.elementor-element,
.bl-country .bl-pos-inner .bl-pos-lead.elementor-widget.elementor-element .elementor-widget-container{
  font-size:clamp(15px,1.75vh,19px)}

/* THE BAND RHYTHM IS NOT SET HERE, and the reason is worth keeping because it
   cost a full rebuild of every band on all three pages.

   It looked as though it had to be. Measured on live 4189, the band's computed
   padding-top was 0 while `--padding-block-start` read 128px, which reads
   exactly like a rule that never travelled. It was not: on a BOXED container
   Elementor applies the padding control to the inner wrapper, `.e-con-inner`,
   and not to the band element the body.elementor-page-6702 was measuring. The emitter's 128px
   was working the whole time, one element further in.

   Adding it here too therefore did not fix anything. It paid the rhythm twice,
   256px on the band and another 256px on the wrapper inside it, and every band
   on the page grew by a clear 256px against the approved preview. The bands
   that showed it worst were the two short chip bands, 725px against 422px.

   So the vertical rhythm belongs to the EMITTER, which can say it in fixed px
   and per band. Only the horizontal padding stays here, because it is a `max()`
   against the viewport and Elementor's control takes fixed units only. */

/* TWO MEASURES THE EMITTER HAS NO CONTROL FOR. Elementor gives every widget
   wrapper `max-width:100%` and offers no max-width control on an unboxed
   container, so both of these have to be said here, long enough to beat the
   per-element rule. Both are visible faults without them: the CTA copy ran the
   full width of the box instead of stopping at the preview's 38rem, and the
   fine print ran the full 1240px instead of the 46rem that makes it read as
   fine print. */
.bl-country .bl-ask-box .bl-ask-copy.e-con.elementor-element{max-width:38rem}
/* AND THE BUTTONS MUST NOT CLAIM THE WHOLE LINE. Elementor gives every
   container `--width:100%`, so inside a flex row the second child measured
   1128px and wrapped to its own line: the box read as a stack, and the row set
   on it computed correctly while looking like nothing had changed. */
.bl-country .bl-ask-box .bl-ask-acts.e-con.elementor-element{width:auto}

/* THE WHOLE BENTO TILE HAS TO BE THE CLICK TARGET, and it was not.
   `.bl-qt h3 a::after{inset:0}` is what turns the heading link into a hit area
   covering the tile, and it needs the TILE to be the anchor's nearest positioned
   ancestor. Elementor gives every widget `position:relative`, so on the live page
   the overlay resolved against the heading widget instead: only the heading text
   opened a panel, and the large `+` in the corner, which is the affordance the
   design puts there, was decorative and dead. Clicking the tile anywhere else
   did nothing at all, which is what Fabian saw.

   Making the heading widget static hands the containing block back to the tile.
   Nothing else in a bento tile relies on that wrapper being positioned. */
.bl-country .bl-qt .elementor-widget.elementor-element.elementor-widget-heading{
  position:static}

/* A PICTURE TILE MUST FILL ITS ROW, and on the Elementor path it did not.
   `.bl-qt-photo img{height:100%}` is correct and is what the preview uses, but
   Elementor wraps an image widget in three boxes of automatic height, so the
   percentage had nothing to resolve against and fell back to the `min-height`
   of 220px. Measured on live 1939: the tile was 395x335 and the picture 393x220,
   leaving a 114px white strip under it, which is exactly the failure the
   `min-height` was written to avoid.

   Every box in the chain has to carry the height, and the last body.elementor-page-6702 has to
   outrank Elementor's own per-element rule on the image. Same shape of fault as
   the hero poster, which needed the figure and the widget container named for
   the same reason. */
.bl-country .bl-qt-photo.e-con.elementor-element{display:block}
.bl-country .bl-qt-photo .elementor-widget.elementor-element,
.bl-country .bl-qt-photo .elementor-widget-container,
.bl-country .bl-qt-photo figure.wp-caption,
.bl-country .bl-qt-photo figure{height:100%;margin:0}
.bl-country .bl-qt-photo .elementor-widget-image.elementor-element img{
  height:100%;width:100%;object-fit:cover;display:block}

/* THE BENTO'S COLUMN COUNT IS OURS TO STATE, not Elementor's to infer.
   `.e-con.e-grid{grid-template-columns:var(--e-con-grid-template-columns)}` is
   (0,2,0) and outranks the one-class `.bl-qb` rules, so the page never decided
   its own column count. Measured at a 390px viewport: Germany resolved to one
   303px track and Vietnam to `58px 246px`, two tracks with the first crushed,
   from identical CSS and an identical custom property. Why the two pages
   differed is not established; that our rule never had the specificity to
   decide it either way is, and on one page Elementor's inference was wrong.
   Five classes takes the decision back. */
.bl-country .bl-qb.e-con.e-grid.elementor-element{
  grid-template-columns:repeat(12,1fr)}
@media (max-width:1024px){
  .bl-country .bl-qb.e-con.e-grid.elementor-element{
    grid-template-columns:repeat(2,1fr);gap:14px}
  .bl-country .bl-qb.e-con.e-grid.elementor-element>.e-con{
    grid-column:span 1}
}
@media (max-width:700px){
  /* ONE COLUMN, AND EVERY SPAN RESET WITH IT. A tile still carrying `span 2` in
     a single-column grid is clamped rather than honoured, so it looks right
     until a second track appears from anywhere. Resetting the spans means there
     is nothing left to honour: measured on live 4189, tiles were still reporting
     `span 2` while the grid reported two tracks. */
  .bl-country .bl-qb.e-con.e-grid.elementor-element{
    grid-template-columns:1fr;gap:14px}
  .bl-country .bl-qb.e-con.e-grid.elementor-element>.e-con{
    grid-column:span 1}
}

/* THE RAIL OVERFLOWED THE VIEWPORT BY EXACTLY ITS OWN LEFT MARGIN, on mobile.
   Measured on live 1939 at a 485px viewport: `scrollWidth` 511 against
   `clientWidth` 485, with `.bl-rail-head`, `.bl-rail-bar` and `.bl-rail-track`
   all sitting at `left:26px` and `width:485px`. 485 + 26 = 511.

   The 26px is the deliberate mobile gutter. The 485 is Elementor, which gives
   every container `--width:100%`, and a block with `width:100%` does not
   subtract its own margins. So the gutter pushed the whole rail out of the
   document and the page scrolled sideways. Exactly the same fault as the call to
   action's buttons claiming a whole flex line, and the same fix: let the width
   be `auto` so the margins come out of it.

   Scoped to the mobile block on purpose. Above 1100px the track is deliberately
   `width:max-content`, which is load bearing for the scroll-driven travel, and
   a blanket `auto` would take it out. */
@media (max-width:900px){
  .bl-country .bl-rail-head.e-con.elementor-element,
  .bl-country .bl-rail-bar.e-con.elementor-element,
  .bl-country .bl-rail-track.e-con.elementor-element{width:auto}
}

/* THE PANEL'S CLOSE CONTROL ON A PHONE. Fabian, 26 August 2026: on mobile the
   panel "does not look good and has no easily accessible close button to come
   back to the page".

   Two faults, both real. It was a 63x28 text link, well under the 44px minimum
   for a touch target; and it was `position:absolute` inside `.bl-qp-box`, which
   is the element that scrolls, so on any answer longer than the screen it
   scrolled off the top and there was no way back to the page at all.

   Fixed positioning takes it out of the scrolling box and pins it to the
   viewport, and it is given the appearance of a button rather than a caption,
   because on a full-screen white sheet a small grey word does not read as a
   control. `env(safe-area-inset-*)` keeps it clear of a notch and of the home
   indicator. Desktop is untouched: there the panel is a centred card, the
   control sits on the card, and clicking anywhere outside already closes it. */
@media (max-width:700px){
  /* THE CONTROL HAS TO OUTRANK THE SHEET, and on desktop it does not need to.
     `.bl-qp-x` is a SIBLING of `.bl-qp-box`, not a child of it, and carries
     `z-index:1` against the box's `2`. On desktop that is invisible, because the
     box is a 720px card in the middle of the screen and the control sits in the
     corner outside it. On a phone the box is the whole screen, so the box simply
     painted over the control: it measured present, visible, 77x44 and at
     `top:10`, and `elementFromPoint` at its own centre returned the panel text.
     Being on screen is not the same as being reachable.

     The outside-click scrim goes with it. It is a full-viewport `::before` whose
     only job is closing the panel when the reader taps beside the card, and on a
     full-screen sheet there is no beside. Left in, and lifted above the box with
     the control, it would cover the answer instead. */
  .bl-country .bl-qp .bl-qp-x::before{display:none}
  .bl-country .bl-qp .bl-qp-x{position:fixed;z-index:3;
    top:calc(10px + env(safe-area-inset-top));
    right:calc(12px + env(safe-area-inset-right));
    min-width:44px;min-height:44px;
    display:inline-flex;align-items:center;justify-content:center;
    padding:0 16px;font-size:12px;
    background:#FFFFFF;color:#1B2434;
    border:1px solid #D8DEE8;border-radius:22px;
    box-shadow:0 6px 18px rgba(26,54,104,.18)}
  .bl-country .bl-qp .bl-qp-box{
    padding-top:calc(74px + env(safe-area-inset-top));
    padding-bottom:calc(40px + env(safe-area-inset-bottom))}
  /* AND THE SHEET MUST NOT WRAP. This is the fault behind "on mobile it does
     not look good", and it is not a spacing problem at all.

     Elementor sets `flex-wrap` PER BREAKPOINT and its mobile default is `wrap`,
     where desktop is `nowrap`. The panel box is a column flex container that is
     given a definite height on a phone (`height:100%`, `max-height:100vh`), and
     a wrapping column flex container whose content exceeds its height does not
     scroll: it starts a NEW COLUMN beside the first. Measured at a 500px
     viewport, the answer was laid out in three columns at x=24, 476 and 928, so
     a reader saw the first third of it and the rest sat off the side of the
     screen with no way to reach it.

     Desktop never showed it because `flex-wrap` computed `nowrap` there, which
     is why the panel verified clean at 1600px and was broken on a phone the
     whole time. A per-breakpoint default is invisible to any check run at one
     width. */
  .bl-country .bl-qp .bl-qp-box.e-con.elementor-element{flex-wrap:nowrap}
}

/* THE BAND INTRO'S MEASURE. The preview sets it with `.m{max-width:36rem}`, a
   class the Elementor path has no way of putting on a paragraph, so live every
   band intro ran the full 1240px and read as a wall rather than as the short
   standfirst the design has. Elementor's `max-width:100%` on the wrapper is
   what has to be beaten, so the body.elementor-page-6702 runs long. */
.bl-country .bl-intro.elementor-widget.elementor-element.elementor-widget-text-editor{
  max-width:36rem}
/* THE STEP BODY'S MEASURE, which `.seq p` sets at 40rem in the preview. */
.bl-country .bl-step-body.elementor-widget.elementor-element.elementor-widget-text-editor{
  max-width:40rem}
.bl-country.bl-notes .elementor-widget.elementor-element.elementor-widget-text-editor{
  max-width:46rem}

/* PARAGRAPH SPACING INSIDE A PANEL. The preview separates them with
   `p + p`, which cannot work on the Elementor path: every paragraph is its own
   text widget in its own wrapper, so no two <p> are ever siblings. Live on 2072
   the whole answer ran together as one block. The adjacency has to be expressed
   between the WIDGETS instead. Same shape of fault as the class mismatches
   above, and the same lesson: a body.elementor-page-6702 that assumes the preview's DOM is a
   body.elementor-page-6702 that does nothing on the site. */
.bl-country .bl-qp-box .elementor-widget.elementor-element+.elementor-widget.elementor-element{
  margin-top:15px}
.bl-country .bl-qp-box .bl-qp-h.elementor-widget.elementor-element+.elementor-widget.elementor-element{
  margin-top:16px}

/* THE SHORT-QUESTIONS MATRIX. Elementor drives a container's display through
   `--display` on `.e-con`, which ties with a one-class page rule and wins on
   order, so the grid rendered as a flex row. */
.bl-country .bl-qgrid.e-con.elementor-element{display:grid;
  grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:1100px){
  .bl-country .bl-qgrid.e-con.elementor-element{
    grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
  .bl-country .bl-qgrid.e-con.elementor-element{grid-template-columns:1fr}}

/* THE HERO COPY'S MEASURE. `_css_classes` lands on the widget WRAPPER, and
   Elementor gives every wrapper a max-width of 100, so the 19ch measure never
   applied and the heading ran the full width of the band straight across the
   picture. */
.bl-country.bl-pos .bl-pos-inner .bl-pos-line.elementor-widget.elementor-widget-heading{
  max-width:21ch}
.bl-country.bl-pos .bl-pos-inner .bl-pos-lead.elementor-widget.elementor-widget-text-editor{
  max-width:36rem}

/* The poster is an image widget, so it arrives wrapped in Elementor's own
   figure and container. The rule that makes it the hero's ground has to reach
   through those rather than sit on the <img> alone. */
.bl-pos-media .bl-pos-poster,
.bl-pos-media .bl-pos-poster .elementor-widget-container,
.bl-pos-media .bl-pos-poster figure{position:absolute;inset:0;margin:0}
.bl-pos-media .bl-pos-poster img{position:absolute;inset:0;width:100%;
  height:100%;object-fit:cover}

/* Elementor's background video sits in a wrapper of its own inside the media
   layer. It is absolutely positioned already; what it does not do is cover, so
   the video element still takes the project's own sizing.

   THE Z-INDEX IS THE WHOLE REASON THE VIDEOS "DID NOT WORK". The design stacks
   the media layer poster < video(1) < wedge(2) < mark field(3), and in the
   preview the poster is a bare `img` so it simply paints first. On the Elementor
   path the poster is an image WIDGET that Elementor appends AFTER its own video
   container, and the container carries `z-index:0`. A `z-index:1` on the video
   inside it is confined to that container's own stacking context, so the whole
   video sat under a poster painted later in the DOM at `z-index:auto`. The video
   played, on time, for its full length, entirely hidden. Nothing about it read
   as a stacking fault: the element was there, the src was right, readyState was
   4 and currentTime advanced.

   The container therefore takes the 1 and the poster takes the 0.

   AND THE POSTER IS WHAT YOU SEE AT THE END. `background_play_once` does not
   freeze the last frame; Elementor sets `display:none` on the video when it
   ends. Whatever is behind is then the still, which is why each poster has to be
   its clip's own final frame or the picture jumps at the cut. */
.bl-pos-media .elementor-background-video-container{position:absolute;
  inset:0;overflow:hidden;z-index:1}
.bl-pos-media .elementor-background-video-container video{position:absolute;
  inset:0;width:100%;height:100%;object-fit:cover}
.bl-pos-media .bl-pos-poster.elementor-widget.elementor-element{z-index:0}

@media (max-width:900px){
.bl-country .bl-pos .bl-pos-inner.e-con.elementor-element,.bl-country.bl-pos .bl-pos-inner.e-con.elementor-element{
    /* Mobile keeps fixed padding on purpose. Below 900px the wedge is gone,
       the copy sits on a plain ground and there is no lattice for the monogram
       to stay on, so there is nothing left for the cell to hold in step. */
    padding:150px 26px 64px}
.bl-country .bl-band.e-con.elementor-element.e-parent:not(.bl-pos):not(.bl-facts),.bl-country.bl-band.e-con.elementor-element.e-parent:not(.bl-pos):not(.bl-facts){
    padding-left:26px;padding-right:26px}
}


/* hero */

/* THE HERO IS THE ONE BAND THAT RUNS TO THE EDGE, and the one that may carry a
   moving background. Added 26 August 2026.

   The ground is full bleed; the words are not. `.bl-pos-inner` holds the same
   1240 column every other band sits in, so the hero reads as the same page with
   its background let out, rather than as a different page.

   THE VIDEO IS AN ENHANCEMENT AND THE STILL IS THE PAGE. The poster image is a
   real <img> underneath, so it is what the browser loads, what it measures for
   layout, and what remains when the video is removed. The video sits over it
   with `preload="none"`. Three consequences worth keeping:
     * a visitor who has asked for less motion gets the still, because the
       video element is removed and the still was never conditional on it;
     * a narrow screen gets the still, because a background video on a phone is
       data the visitor did not ask to spend;
     * the file never competes with the hero's own paint for LCP.

   THE SCRIM IS NOT DECORATION. White type over moving footage fails contrast
   somewhere in every clip. The gradient is opaque enough on the left, where the
   words are, to hold the ratio whatever frame is under it, and thins to the
   right so the picture is still visible. Contrast is measured against the
   DARKEST end of the scrim, not against the average. */
.bl-country .bl-band.bl-pos,.bl-country.bl-band.bl-pos{max-width:none;padding:0;position:relative;
  overflow:hidden}
/* TWO LATTICE CELLS OF EXTRA HEADROOM, added 26 August 2026. The site header
   is fixed and sits OVER the hero, so the top of this band is under it: 56px of
   bar, 64 on mobile, and another 32 whenever an admin bar is showing. The copy
   cleared it but the monogram's top row did not by much, and the point is air
   rather than clearance. Fabian, having no header in the preview to judge it
   against: "the header goes over the video and everything, we need to add more
   space to the top."
   116px AND NOT SOME OTHER NUMBER: the monogram has to stay on the field's
   lattice, so the copy and the monogram both move by a whole number of 58px
   cells or the marks stop replacing squares and start sitting between them. */
.bl-pos-inner{position:relative;z-index:2;max-width:1352px;margin:0 auto;
  /* 4.586 and 2.276 cells, being the old 266px and 132px over 58. Written as
     multipliers so the header clearance, the copy and the monogram keep step.

     The bottom is 1.9 cells and not the old 2.276. That padding is where the
     hero's slack falls by design, so it is the one measurement here that can be
     trimmed without moving anything the reader looks at, and it was 21px of
     overflow at 1440x900, the commonest laptop there is. */
  padding:calc(var(--bl-cell) * 4.586) 56px calc(var(--bl-cell) * 1.9)}
/* THE MEDIA LAYER CLIPS ITSELF, and it has to from the moment any page frames
   its clip. A framing scale makes the video LARGER than the band: at 1.15 on a
   1585px hero it renders 1823px wide. The hero is `overflow:visible` for the
   mark field, so that surplus escaped the band, escaped the page and gave the
   whole document a horizontal scrollbar. Measured: scrollWidth 1823 against
   clientWidth 1585, on Singapore and Vietnam and not on Germany, which is the
   one page with no framing set.
   Clipping HERE and not on the hero is the point: the wedge and the mark field
   are both `inset:0` pseudo-elements of this box, so they are unaffected, while
   the monogram, which deliberately hangs off the copy and past the left edge,
   is outside this box and keeps its overhang. */
.bl-pos-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.bl-pos-media img,.bl-pos-media video{position:absolute;inset:0;width:100%;
  height:100%;object-fit:cover;display:block}
.bl-pos-media video{z-index:1}
/* A SHAPE, NOT A VEIL. Fabian, 26 August 2026: "maybe can we play with a
   shape so the video plays without overlay but then there is a shape that cuts
   off where the video plays and where the text is."

   So the navy is a solid wedge rather than a gradient laid over everything, and
   the right of the frame is the footage untouched, at full contrast and full
   colour. The diagonal is shallow, 8 per cent of the width across the full
   height, because a steeper one starts to read as a graphic device and this is
   meant to read as the page's own ground meeting the picture.

   THE COPY MEASURE AND THE WEDGE ARE ONE NUMBER. The text column is capped so
   that its longest line clears the diagonal at the narrowest point of the
   wedge, which is the bottom. Change one and the other has to move, which is
   why they are commented together and why the heading takes its own size here
   rather than the 52px it uses on a page with no picture behind it. */
/* MORE PICTURE, LESS GROUND. Moved 26 August 2026 from 70/62 to 56/48 on
   Fabian's "can the cut out in the video be a bit more video and less space for
   the text". The copy measure did not have to move with it: measured at 1600,
   the longest line of the heading ends 108px clear of the diagonal at its own
   baseline and the lead 130px clear at its own, so the wedge could give up 14
   points of width without the text coming near it.

   THE WEDGE STOPS AT THE HERO'S BOTTOM. Its box is inset by the overhang below,
   so its percentages still resolve against the hero and not against the taller
   media box. */
.bl-pos-media::after{content:"";position:absolute;inset:0;z-index:2;
  background:#0E1C3A;
  clip-path:polygon(0 0,56% 0,48% 100%,0 100%);
  /* NO CUT-OUTS ANY MORE. The navy was punched with square holes for part of
     26 August 2026, so the picture showed through it, and the whole idea was
     replaced by something simpler: one square field drawn OVER both grounds,
     which is the rule above this one. A cut-out and a drawn mark were two
     devices doing one job, and the work was going into making them look
     alike. The wedge is now just a wedge. */}

/* THE RIBBON CARRIES NO MARKS. It had a field of its own, then the hero's
   lattice continued into it, then that was confined to the gutter so it would
   not run under the four figures. Fabian, 26 August 2026: "the lower right
   corner is still not perfect and I don't think we get there. Just remove the
   squares on that text element."
   He is right that it was not going to get there. The band is four figures in a
   1240px column with a gutter either side, so the only place a mark can go is
   the gutter, and a pattern that exists only in the margin is not a pattern.
   The hero carries the field; this band carries the facts. */
.bl-country .bl-band.bl-facts,.bl-country.bl-band.bl-facts{position:relative;padding-top:0;padding-bottom:0}
.bl-facts>*{position:relative;z-index:1}
.bl-facts::before{content:"";position:absolute;inset:0;z-index:0;
  background:#0F2246}

/* THE SHAPE STOPS ON THE BOUNDARY. The diagonal was carried 84px down into the
   band below on 26 August 2026 and taken out again the same day: Fabian liked
   the marks and not the continuation. The band below keeps its stacking order
   only because the square cut-outs there still need the picture behind them.

   `overflow:visible` is belt and braces rather than a fix: no rule in this
   stylesheet clips a band, checked rather than assumed. It is stated because
   the marks layer now reaches past the hero's bottom edge and anything that
   started clipping bands would silently cut it off. */
/* THE HERO AND THE BANNER TOGETHER ARE 85% OF THE WINDOW. Fabian, 26 August
   2026: "the video hero and the info banner together should cover 85% of the
   height of the screen."

   Expressed as one sum rather than two guesses: the banner is pinned at 210px,
   which is what its four figures actually occupy, and the hero takes the rest
   of the 85. So the pair is exactly 85vh at any window height and neither can
   drift from the other.

   THE COPY IS NOT CENTRED IN THE TALLER HERO, and that is deliberate. The
   monogram field is anchored to the top left in pixels because it has to hug
   the eyebrow; centring the copy would leave the marks pinned to the top while
   the words moved down, and the one relationship this hero is built on would
   come apart at exactly the window sizes nobody tests. So the extra height
   falls BELOW the copy, where the pool wants it anyway. */
/* THE PAIR IS 80vh AND THE CELL IS WHAT MAKES IT TRUE. Fabian, 26 August 2026:
   "the Hero is not in Realive height but fixed. It looked great on my computer at
   work but now on my laptop it does not [...] the Hero Section and the below text
   Banner is together 80% of the height of the screen [...] change the font to be
   in relative size so everything stays in proportion."

   The previous rule asked for 85vh and got 113. `min-height` cannot shrink a box
   that its own content has already made taller, and this hero's content was
   entirely fixed: 398px of padding, a 44px heading over five lines, a 19px lead.
   Naming a smaller number would have changed nothing.

   `--bl-cell` is the 58px lattice the whole hero is built on, and every vertical
   offset in it is a multiple of that cell. Scale the cell and the padding, the
   monogram, the mark field and the spacing all move together, so the one
   relationship the hero depends on, the monogram landing ON a square rather than
   between two, survives every window size. The multipliers are the old pixel
   values divided by 58 and are written out where they are used.

   `min-height` and not `height`, deliberately. If a page ever carries copy that
   genuinely will not fit, the hero grows and the pair passes 80vh. That is the
   right failure: a hero half a band too tall is a blemish, a hero that clips its
   own first sentence is a broken page. */
.bl-country,.bl-country.bl-band{
  --bl-cell:clamp(26px,3.6vh,58px);
  --bl-facts-h:clamp(128px,15vh,210px)}
.bl-country .bl-band.bl-pos,.bl-country.bl-band.bl-pos{overflow:visible;z-index:1;
  min-height:calc(80vh - var(--bl-facts-h))}
.bl-country .bl-band.bl-facts,.bl-country.bl-band.bl-facts{
  min-height:var(--bl-facts-h)}
.bl-pos-media{bottom:0}

/* THE MARK. See `hero_mark_uri` for why it is a square, why it is white and why
   it is a data URI. It sits ABOVE the wedge in the stack and is masked back to
   nothing over it, so the field only ever appears on the footage: a radial mask
   anchored bottom right, densest in the corner furthest from the words and gone
   entirely before it reaches them. That gradient is doing the same job as the
   hand-placed density in the reference, without hand-placing anything. */
/* THE TWO DRAWN GROUPS, one anchored in each corner, so the composition has
   weight in the lower right and the upper left and nothing in between. No mask
   is needed any more: the compositions ARE the density, and each is placed
   where it belongs rather than faded into place. */
/* BOUNDED TO THE HERO, and this is what made the bottom right group invisible
   for three passes. `.bl-pos-media` reaches 190px BELOW the hero so the banner
   has something to show through its cut-outs, and a pseudo-element at `inset:0`
   inherits that taller box. `background-position: bottom 34px` was therefore
   measuring from 190px under the fold, and the whole group was sitting behind
   the banner's navy. Every adjustment to opacity, placement and shadow was
   being made to marks that were not on screen at all.
   The lesson is the general one this project keeps relearning: when a change
   has no visible effect, stop adjusting it and find out where the thing
   actually is. */
/* THE FIELD. One repeating square over the whole hero, drawn above both the
   navy and the footage so the same mark reads on both grounds.

   IT STOPS AT THE HERO'S OWN EDGE, and the ribbon continues it. An earlier
   version reached 42px down so a row would straddle the boundary, while the
   ribbon also drew a field of its own in the same corner: two lattices, out of
   phase, doubling every mark where they met. Fabian saw it immediately as
   "duplicate squares in the lower right corner". ONE tile, drawn twice by two
   elements that agree about where the rows are, is the fix. See the ribbon rule
   for how the phase is kept.

   THE TWO CORNERS ARE TWO MASK LAYERS, added together. Anchoring one radial
   gradient in the bottom right and one in the top left, and compositing them
   with `add`, gives a union: strongest in those two corners, tapering to
   nothing across the middle. `-webkit-mask-composite` takes the old keyword
   `source-over` for a union, not `add`. */
.bl-pos-media::before{content:"";position:absolute;inset:0;z-index:3;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='58' height='58'%3E%3Crect x='22.5' y='22.5' width='13' height='13' fill='none' stroke='%23FFFFFF' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:repeat;
  /* THE LATTICE IS ANCHORED TO THE COPY COLUMN, and that is what lets the
     monogram sit IN the pattern rather than on top of it. Anchored to the band
     edge the lattice moved with the window while the centred copy did not, so
     the monogram could never land on a cell and had to blank one instead.

     THE 29px IS NOT A FUDGE. A percentage in `background-position` resolves
     against (container width less IMAGE width), not container width, so
     `calc((100% - 1240px)/2)` gives (W - 1298)/2 where the copy column starts
     at (W - 1240)/2. The difference is a constant 29, being half the 58px tile,
     and adding it back makes the lattice origin the copy's own left edge. The
     `max` reproduces the band's own gutter floor. */
  /* HALF A CELL, not 29px. Same arithmetic as before and the same reason: a
     percentage in `background-position` resolves against (container - image), so
     the tile has to be offset by half its own width to land on the column. */
  background-size:var(--bl-cell) var(--bl-cell);
  background-position:left max(56px,calc((100% - 1240px) / 2
    + var(--bl-cell) / 2)) top 0;
  opacity:.5;
  -webkit-mask-image:radial-gradient(62% 74% at 100% 100%,#000 0%,
      rgba(0,0,0,.55) 34%,rgba(0,0,0,0) 72%),
    radial-gradient(52% 62% at 0% 0%,#000 0%,rgba(0,0,0,.5) 32%,
      rgba(0,0,0,0) 68%);
  mask-image:radial-gradient(62% 74% at 100% 100%,#000 0%,
      rgba(0,0,0,.55) 34%,rgba(0,0,0,0) 72%),
    radial-gradient(52% 62% at 0% 0%,#000 0%,rgba(0,0,0,.5) 32%,
      rgba(0,0,0,0) 68%);
  -webkit-mask-composite:source-over;
  mask-composite:add}

/* THE MONOGRAM, hung off the COPY and not off the band. Fabian: it sits
   "approximately 20px above and 20px to the left of the golden word Germany",
   so it has to move with the eyebrow rather than with the window.
   `.bl-pos-inner` is padded 56px left and 150px top and the eyebrow is its first
   child, so the eyebrow's top left corner is exactly (56, 150) inside it. The
   monogram is 40px and sits 20px clear on both sides, so its right edge lands
   at 56 less 20, and its bottom edge at 150 less 20. The group is five cells
   square with the monogram at its centre, so the group offsets back 145px from
   the monogram's own centre. Measured after the first attempt, which put it 20
   up and 20 left of where it belonged: the arithmetic is easy to do twice and
   the only way to know is to read the eyebrow's box off the page. */
.bl-pos-inner::before{content:"";position:absolute;z-index:4;
  /* ON THE LATTICE. The field's cell centres sit at the copy's left edge plus
     29 plus a multiple of 58 horizontally, and at 29 plus a multiple of 58 down
     from the hero's top. The monogram takes the nearest cell to where it was by
     eye: two cells left of the copy edge and one row down, which is 31px left
     of the inner box and 87px from the top. The group is five cells square with
     the monogram at its centre, hence the further 145. */
  /* -3.034, 1 and 5 cells. At cell 58 these are the measured -176, 58 and 290
     exactly; at any smaller cell the monogram stays on the field's lattice,
     which pixel values could not do. */
  left:calc(var(--bl-cell) * -3.034);top:var(--bl-cell);
  width:calc(var(--bl-cell) * 5);height:calc(var(--bl-cell) * 5);
  background-size:calc(var(--bl-cell) * 5) calc(var(--bl-cell) * 5);
  /* .5, the same as the field. At .92 it was the one thing on the hero that
     looked drawn on rather than shimmering through, which is the whole idea of
     the field it belongs to. And 40px further left than the arithmetic put it,
     on Fabian's eye rather than on a measurement: the monogram wants more air
     between itself and the words than the 20px that positions it. */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='290' height='290'%3E%3Crect x='116.0' y='116.0' width='58' height='58' fill='%230E1C3A'/%3E%3Crect x='80.5' y='80.5' width='13' height='13' fill='%23FFFFFF' fill-opacity='0.5'/%3E%3Crect x='196.5' y='80.5' width='13' height='13' fill='%23FFFFFF' fill-opacity='0.5'/%3E%3Crect x='80.5' y='196.5' width='13' height='13' fill='%23FFFFFF' fill-opacity='0.5'/%3E%3Crect x='254.5' y='138.5' width='13' height='13' fill='%23FFFFFF' fill-opacity='0.5'/%3E%3Crect x='138.5' y='254.5' width='13' height='13' fill='%23FFFFFF' fill-opacity='0.5'/%3E%3Crect x='125.0' y='125.0' width='40' height='40' fill='none' stroke='%23FFFFFF' stroke-width='1.6' stroke-opacity='0.5'/%3E%3Ctext x='145.0' y='151.0' fill='%23FFFFFF' fill-opacity='0.5' font-family='Jost, Futura, sans-serif' font-size='17' font-weight='500' letter-spacing='0.5' text-anchor='middle'%3EBL%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;opacity:1}
/* THREE CLASSES, because this block sits ABOVE `.bl-pos .bl-pos-line` in the
   stylesheet and both would otherwise be (0,2,0), so the 52px original wins on
   source order alone. Measured: the heading came back 52px and 635px wide with
   these rules present and correct in the file. */
/* RELATIVE TYPE, WITH FLOORS. Asked for as "relative size so everything stays
   in proportion", and the proportion is what `vh` gives: the hero's box is a
   fraction of the window, so its words have to be too, or a 44px heading over
   five lines eats a short hero whole.

   NOT pure proportion, though. Scaling the eyebrow off the cell would put it at
   8px on a small laptop; legibility is a floor and not a ratio, so each line has
   a clamp with a minimum that is still readable and a maximum that is the value
   Fabian approved on the large screen. The measure stays in `ch`, so it tracks
   the font size and the line count holds as the type scales. */
/* THE MEASURE IS ONE NUMBER AT EVERY HEIGHT, and the wedge chose it. A `ch`
   measure holds its line count as the type scales, so the measure alone decides
   how many lines the heading takes, and two tiers of measure would give two
   different compositions. Jost runs about 0.61em to the `ch` here, measured off
   the preview, where 19ch at 52px came to 635px. The longest line must clear the
   diagonal at its narrowest, the bottom at 48% of the band, which leaves about
   588px from the copy's left edge at a 1600px window:

     * four lines wants 26ch, which caps the heading at 36px, too small for the
       most important line on the page;
     * five lines wants 21ch, which caps it at 44px, the size already approved.

   Hence 21ch, and a 42px maximum rather than 44. Measured on the live page at a
   1400px viewport, 44px left the longest line clearing the diagonal by FOUR
   pixels: correct for this heading and no margin at all for the next one. 42px
   pulls the clearance to about 65px and still sets five lines, so the maximum is
   set by the geometry rather than by the one heading that happened to fit. */
.bl-pos .bl-pos-line{font-size:clamp(29px,4.1vh,42px);max-width:21ch}
/* 36rem, AND THE WEDGE ALLOWS IT. The lead sits low in the hero, around 70 to
   90 per cent down, where the diagonal has run in to about 49 per cent of the
   band: at a 1440px window that leaves roughly 605px from the copy's left edge,
   so a 576px measure clears it. The step from 34rem was worth a whole line on
   Singapore, whose lead ran to five, and a line of lead is 25px of hero. */
.bl-pos .bl-pos-lead{font-size:clamp(15px,1.75vh,19px);max-width:36rem}
.bl-pos .eb,.bl-pos .bl-pos-eb{font-size:clamp(11px,1.05vh,13px)}
@media (prefers-reduced-motion:reduce){
  .bl-pos-media video{display:none}
}
@media (max-width:1100px){
  /* The wedge needs room on both sides of the diagonal. Below this there is
     none, so the shape becomes a plain ground over the still, the overhang is
     taken back to nothing, and the picture stops competing with the words. */
  .bl-pos-media::after{clip-path:none;background:rgba(14,28,58,.88);inset:0;
    -webkit-mask-image:none;mask-image:none}
  .bl-pos-media{bottom:0}
  .bl-pos-media::before{opacity:.3}
  .bl-pos .bl-pos-line{max-width:none}
}
@media (max-width:900px){
  .bl-pos-media video{display:none}
  .bl-pos-inner{padding:72px 26px 64px}
  .bl-pos .bl-pos-line{font-size:34px}
}

/* ------------------------------------------------------------------ 01b
   THE PRACTICE-AREA HERO IS THE SANDWICH, AND IT IS DELIBERATE. Fabian,
   27 August 2026, offered the wedge or the stack and chose the stack: "you
   leave it in the Sandwich style where its blue and info and picture (I
   actually like that for landing pages as they are different from Main Country
   Pages)."

   So this is not a country hero with the picture missing. It is its own thing:
   a blue field of copy, the facts strip, then a full-bleed photograph. What it
   inherits from `.bl-country` is the lattice, the type scale and the header
   clearance; what it does NOT inherit is the height of a band built to hold
   footage behind a wedge, and it should not inherit the country page's cap on
   the picture either.

   THREE CORRECTIONS, all measured on `/insolvency-and-restructuring/` at
   1440x900 after the scope class was first applied.

   ONE: SHORTER. The country pair is 80vh because the hero carries a picture.
   This one carries four lines of copy and was 585px tall with 110px of dead
   field under the lead. 60vh less the facts strip, with the top padding cut
   from 4.586 cells to 3.2 and the bottom from 1.9 to 1.3, brings it to about
   446px without moving anything the reader looks at. The top padding still
   clears the fixed header: the bar ends 56px into the band and 3.2 cells is
   104px at full cell, so there is roughly 48px of air under it.

   TWO: THE PICTURE RUNS TO THE EDGE. `.bl-country .bl-join img` caps the image
   at the 1240 copy column, which is right on a country page where the band is
   a quiet divider inside the measure. Here the picture is the third slice of
   the sandwich and has to be as wide as the blue above it. Fabian: "the picture
   is narrow the header is wider." That cap arrived on these pages WITH the
   scope class, so it is a fault this file introduced and this file removes.
   The override lives in the JOIN block, next to the rule it answers.

   THREE: THE FIELD CROSSES THE WHOLE BANNER. The mark field is a pseudo-element
   of `.bl-pos-media`, so on a hero with no media it never renders at all and
   the only marks on the page are the five cells around the monogram. Fabian:
   "I like the Logo as squares but you also need to add the faint squares across
   the banner." This puts the same 58px tile on the band itself, on the same
   lattice as the monogram so the marks line up with it rather than sitting
   between the squares, and masks it AWAY from the copy: strongest on the right
   where the field is empty, gone before it reaches the words. Opacity .3 and
   not the .5 the footage version uses, because there is no photograph here to
   compete with and the same value reads as a printed grid rather than a
   watermark. */
.bl-country.bl-practice .bl-band.bl-pos,
.bl-country.bl-practice.bl-band.bl-pos{
  min-height:calc(60vh - var(--bl-facts-h))}
.bl-country.bl-practice .bl-pos-inner{
  padding:calc(var(--bl-cell) * 3.2) 56px calc(var(--bl-cell) * 1.3)}
/* THE FIELD. `.bl-pos::after` is already the preview's monogram, so this is
   ::before. z-index 1 puts it under `.bl-pos-inner`, which is z-index 2, so no
   mask failure can ever put a square over a letter.

   BOTH FORMS OF THE SELECTOR, and the first version had only the descendant one,
   which matched nothing. The emitter puts the scope classes on EVERY node, so on
   the Elementor page the hero band itself carries `bl-country bl-practice
   bl-band bl-pos` together and the compound form is the one that matches; in the
   preview the scope sits on an ancestor and the descendant form is. The
   min-height rule above was written with both from the start and worked, which
   is exactly why the height changed and the field did not. */
.bl-country.bl-practice .bl-band.bl-pos::before,
.bl-country.bl-practice.bl-band.bl-pos::before{content:"";position:absolute;
  inset:0;z-index:1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='58' height='58'%3E%3Crect x='22.5' y='22.5' width='13' height='13' fill='none' stroke='%23FFFFFF' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:repeat;
  background-size:var(--bl-cell) var(--bl-cell);
  /* Same anchor arithmetic as the media field: a percentage in
     `background-position` resolves against (container less image), so the tile
     is offset by half its own width to land on the copy column's left edge. */
  background-position:left max(56px,calc((100% - 1240px) / 2
    + var(--bl-cell) / 2)) top 0;
  opacity:.3;
  -webkit-mask-image:linear-gradient(100deg,rgba(0,0,0,0) 34%,
    rgba(0,0,0,.45) 58%,#000 100%);
  mask-image:linear-gradient(100deg,rgba(0,0,0,0) 34%,
    rgba(0,0,0,.45) 58%,#000 100%)}
@media (max-width:900px){
  /* The field is decoration and the phone has no room to spare for it. */
  .bl-country.bl-practice .bl-band.bl-pos::before,
  .bl-country.bl-practice.bl-band.bl-pos::before{display:none}
  .bl-country.bl-practice .bl-pos-inner{padding:72px 26px 56px}
}


/* suncatch */

/* E18. The logo caught by the light as the reflection leaves the glass, then
   lost again. See `hero_sunmark_uri` for the timing and where it came from.

   THE SWEEP IS A MASK TRAVELLING ACROSS THE SHAPE, at the angle of the tower's
   own glass, so the logo is not faded in and out but WIPED in and out by a band
   of light. That is the difference between a badge appearing and a reflection
   catching something, and it is the whole of what was asked for.

   IT ANIMATES `mask-position`, WHICH IS NOT A COMPOSITOR PROPERTY, and that is
   a deliberate exception to this project's own rule that only `transform` and
   `opacity` may animate. The rule exists for INP, and it is worth breaking here
   only because the element is 260px wide, the animation runs three seconds once
   every twenty-five, and the alternative (translating the element under a fixed
   mask) moves the mask with it and produces no sweep at all. If the hero ever
   becomes an interaction target, revisit this first.

   GUARDS. `prefers-reduced-motion` kills it in the script rather than in the
   CSS, because the class is what starts it. It never appears below 1100px: on a
   phone the video is not playing at all, so there is no reflection for it to
   belong to. */
.bl-pos::after{content:"";position:absolute;z-index:4;pointer-events:none;
  /* 61%, moved right when the mark took the reflection's colour. In white it
     sat happily across the lit face of the glass; in the glass's own orange the
     wordmark crossed the bright band and disappeared into it, because a colour
     sampled FROM something has no contrast against it. The mark now sits on the
     darker face to the right of the band, where the same orange reads as light
     falling on it. */
  width:260px;height:200px;
  background-repeat:no-repeat;background-size:contain;opacity:0;
  /* A WIDE BAND, NOT A SLIT. The first version lit about a fifth of the mark at
     a time, so the sweep read as a glint and the logo was never legible in it.
     The band now covers roughly half the shape at its peak: enough that the
     whole mark resolves for a moment, which is the point of it appearing at
     all, and still narrow enough to be a reflection passing rather than a fade
     in and out. */
  -webkit-mask-image:linear-gradient(108deg,rgba(0,0,0,0) 14%,#000 42%,
    #000 58%,rgba(0,0,0,0) 86%);
  mask-image:linear-gradient(108deg,rgba(0,0,0,0) 14%,#000 42%,
    #000 58%,rgba(0,0,0,0) 86%);
  -webkit-mask-size:210% 100%;mask-size:210% 100%;
  -webkit-mask-position:118% 0;mask-position:118% 0}

.bl-pos.bl-suncatch::after{animation-name:bl-suncatch;
  animation-timing-function:cubic-bezier(.32,0,.28,1);
  animation-fill-mode:both}

@keyframes bl-suncatch{
  0%{opacity:0;-webkit-mask-position:118% 0;mask-position:118% 0}
  18%{opacity:.52}
  62%{opacity:.52}
  100%{opacity:0;-webkit-mask-position:-18% 0;mask-position:-18% 0}
}

@media (max-width:1100px){.bl-pos::after{display:none}}


/* askbox */

/* The call to action, as the one solid navy object on the page. Added 26 August
   2026. It is deliberately NOT the full width of the band: a box inset from the
   ground it sits on reads as an object, and an object is what stops a reader
   who has scrolled past nine questions. The gold rule above the heading is the
   same 56px mark the hero uses, so the page opens and closes on the same
   gesture.

   The two buttons take the navy-ground variants, which the renderer now forces
   rather than reading from the spec: the ground is decided here, so the pairing
   is decided here too. */
.bl-ask-box{position:relative;background:#12244A;color:#C3CFE4;
  border-radius:4px;padding:58px 56px 52px;display:flex;align-items:center;
  justify-content:space-between;gap:44px;flex-wrap:wrap;
  box-shadow:0 18px 44px rgba(18,36,74,.16)}
/* INSIDE the box, not on its edge. At top:0 the rule sat half on the boundary
   and read as a stray tab rather than as the same 56px gold mark the hero opens
   with. It is the page's closing gesture, so it has to look intended. */
.bl-ask-box::before{content:"";position:absolute;left:56px;top:30px;
  width:56px;height:2px;background:#C9A84C}
.bl-ask-box h2{color:#FFFFFF}
.bl-ask-box>div:first-child{max-width:38rem}
.bl-ask-box p{color:#C3CFE4;font-size:17px;line-height:1.62;margin:14px 0 0}
.bl-ask-acts{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:900px){
  .bl-ask-box{padding:44px 26px 36px;gap:26px}
  .bl-ask-box::before{left:26px;top:22px}
}


/* qs */

/* 09 questions people ask, Elementor classes -------------------------
   Two columns on a wide screen because six of these in one column pushes
   the Ask band off the bottom of the world, one column on a phone. Same
   no-accordion rule as the brief band and the same reason for it.

   FAQPage schema is a Rank Math panel field per page and is NOT emitted
   here. A JSON-LD snippet is site-wide, and one injected by script is
   invisible to the crawlers that would use it, which would be a schema
   that exists only for us to feel good about. */
.bl-qs-i p{max-width:36rem}
@media (max-width:860px){
  .bl-qs-i{width:100%!important;--width:100%!important}
}

/* == BL HEADER v2 : begin, apply_header_v2.py == */
.bl-hdr{--bl-hdr-h:56px}
.bl-hdr{-webkit-backdrop-filter:saturate(1.8) blur(20px);
  backdrop-filter:saturate(1.8) blur(20px);box-shadow:none;border-bottom:0}
/* Without the blur the material must carry itself, or text scrolls through it. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .bl-hdr{background:rgba(255,255,255,.97)!important}
}
.bl-hdr-row{max-width:1240px;width:100%;margin-inline:auto;height:100%;
  padding:0 28px!important;display:flex;align-items:stretch;gap:24px}
/* Elementor sets a cell's width through the --width custom property as well as
   width, so both have to go, exactly as the bento filter needed. */
.bl-hdr-logo,.bl-hdr-nav,.bl-hdr-act{width:auto!important;--width:auto!important;
  display:flex;align-items:center}
.bl-hdr-logo{flex:0 0 auto;justify-content:flex-start!important;gap:11px}
.bl-hdr-nav{flex:1 1 auto;justify-content:center!important}
.bl-hdr-act{flex:0 0 auto;justify-content:flex-end!important}

/* THE WORDMARK. A div, not a heading: the page must keep exactly one h1 and no
   level skips, and the standing audit checks it. */
.bl-wm,.bl-wm a,.bl-wm .elementor-heading-title{font-family:Jost,sans-serif;
  font-size:15px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:#1A3668;text-decoration:none;line-height:1;white-space:nowrap;margin:0}
.bl-wm a:hover{color:#0F2246}

/* FULL-BAR HIT AREAS. Apple's links are the full height of the bar, which is
   why 44px never feels fiddly.
   NO UNDERLINE AND NO CURRENT-PAGE RULE. Both were mine and Fabian rejected
   both on sight, 23 August 2026: the gold rule on hover and the colour change
   on the current item. The nav is therefore plain, and the panel below does the
   work of telling the reader something is happening. */
.bl-hdr .elementor-nav-menu>li>a.elementor-item{height:var(--bl-hdr-h);
  display:flex;align-items:center;padding:0 14px!important;position:relative}

/* THE PANEL, and it only exists while the item is open.
   FIRST VERSION SET `display:flex` UNCONDITIONALLY AND THAT SHIPPED TO A LIVE
   PAGE: Elementor hides a dropdown with display:none and reveals it on hover,
   so overriding display in the base rule pinned the panel permanently open in
   the corner of /knowledge/. Caught by measuring the DOM rather than reading
   the screenshot, which showed a box that looked like a mispositioned panel
   rather than an always-open one. Everything about the panel therefore lives in
   the open-state rule, and the closed state is left entirely to Elementor.

   THE SELECTOR IS DELIBERATELY LONG. At three classes it LOST: `left` and
   `width` resolved to Elementor's own dropdown values while `background`, `top`
   and `padding` from the same block applied. Elementor's competing rule has
   EQUAL specificity and is also !important, and a page's custom CSS is printed
   BEFORE Elementor's widget stylesheets, so cascade order decided it. Proved by
   injecting the identical rule last, where it won.
   Corollary worth keeping: a scan of document.styleSheets for that competing
   rule reported ZERO, because 3 of the 93 sheets on this page throw on
   .cssRules and the loop skipped them in silence. A scan that cannot read
   everything must count what it skipped, or its zero reads as proof.

   `width:auto` is not optional. With left, right and width all set the box is
   over-constrained and the browser drops `right`, which is how the panel came
   back 156px wide with left:0 correctly applied.

   `top` is measured from the HEADER, not the viewport: backdrop-filter makes an
   element the containing block for its fixed descendants, so var(--bl-hdr-h)
   lands the panel flush under the bar whether or not the admin bar has pushed
   the header down 32px. No 100vw either: left and right do the width, and 100vw
   includes the scrollbar, which is how a fixed full-width band gives a page a
   horizontal scroll. */
.bl-hdr .bl-hdr-nav .elementor-nav-menu>li.menu-item-has-children:hover>ul.sub-menu.elementor-nav-menu--dropdown,
.bl-hdr .bl-hdr-nav .elementor-nav-menu>li.menu-item-has-children:focus-within>ul.sub-menu.elementor-nav-menu--dropdown{
  display:flex!important;position:fixed!important;top:var(--bl-hdr-h)!important;
  left:0!important;right:0!important;width:auto!important;
  min-width:0!important;max-width:none!important;
  background:rgba(244,246,249,.94)!important;
  -webkit-backdrop-filter:saturate(1.8) blur(20px);
  backdrop-filter:saturate(1.8) blur(20px);
  border:0!important;border-top:1px solid rgba(26,54,104,.10)!important;
  box-shadow:none!important;justify-content:center;gap:8px;
  padding:22px 28px!important;margin:0!important}
.bl-hdr .bl-hdr-nav .elementor-nav-menu ul.sub-menu.elementor-nav-menu--dropdown>li{list-style:none;width:auto}
.bl-hdr .bl-hdr-nav .elementor-nav-menu ul.sub-menu.elementor-nav-menu--dropdown>li>a.elementor-sub-item{
  font-family:Jost,sans-serif!important;font-size:13.5px!important;
  letter-spacing:-.01em;color:#1B2434!important;padding:9px 16px!important;
  border-radius:4px;transition:background-color 160ms cubic-bezier(.2,.6,.3,1)}
.bl-hdr .bl-hdr-nav .elementor-nav-menu ul.sub-menu.elementor-nav-menu--dropdown>li>a.elementor-sub-item:hover{
  background:rgba(26,54,104,.06)!important}

/* THE CURTAIN. The page recedes behind glass while the panel is open, and no
   script: :has() does it.
   IT CANNOT LIVE ON THE HEADER. First attempt was `.bl-hdr::after` with
   top:56px and bottom:0, and it rendered ZERO PIXELS HIGH. backdrop-filter makes
   the header the containing block for its own fixed descendants, so bottom:0
   resolved against a 56px box rather than the viewport. It hangs off body
   instead, which has no filter, and covers the whole viewport at z-index 9: the
   header is z-index 10 and paints over it, so no offset arithmetic is needed and
   the logged-in admin bar cannot shift it. */
/* display:block is NOT redundant. Something on this site already styles
   `body::after` and sets it to display:none, so the curtain computed as fixed,
   inset 0, z-index 9, opacity 1 and visible, and painted NOTHING. A probe that
   forced 55% red at z-index 99999 still showed no pixels, which is what sent me
   to read `display` at all. Read every box-generating property before believing
   a computed style, not just the ones you set. */
body::after{content:"";display:block!important;position:fixed;inset:0;
  background:rgba(27,36,52,.16);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  opacity:0;visibility:hidden;pointer-events:none;z-index:9;
  transition:opacity .32s cubic-bezier(.4,0,.6,1) .08s,
             visibility .32s steps(1) .08s}
/* NO @supports GUARD HERE, AND THAT IS DELIBERATE. Wrapping this in
   `@supports body.elementor-page-6702(:has(*))` is what a guard should look like, and on this
   delivery route it silently destroys the rule: Elementor scopes a page's
   custom CSS by prefixing body.elementor-page-6702s with `body.elementor-page-<id>`, and its
   rewriter treats the bare word `body.elementor-page-6702` inside the at-rule condition as a
   body.elementor-page-6702, so the file shipped `@supports body.elementor-page-6869(:has(*))`.
   That condition is invalid, so the browser dropped the whole block and the
   curtain never appeared, while every unwrapped rule in the same file applied.
   Found by fetching post-6869.css and reading it, after an in-page scan of
   <style> tags found nothing because the block lives in a file.
   `@supports not (...)` in the same file survived untouched, so the fault is
   specific to the `body.elementor-page-6702()` function.
   No guard is needed anyway: a browser that does not understand :has() treats
   the whole rule as invalid and ignores it, which is exactly the fallback the
   guard was for. */
body:has(.bl-hdr .menu-item-has-children:hover)::after,
body:has(.bl-hdr .menu-item-has-children:focus-within)::after{
  opacity:1!important;visibility:visible!important}

/* CONTACT, as the ghost variant of the site's own button system. */
.bl-hdr .bl-btn .elementor-button{font-family:Jost,sans-serif;font-size:13px;
  font-weight:500;letter-spacing:-.01em;background:transparent;color:#1B2434;
  border:0;padding:9px 14px;border-radius:4px;
  transition:box-shadow 160ms cubic-bezier(.2,.6,.3,1),
             color 160ms cubic-bezier(.2,.6,.3,1)}
.bl-hdr .bl-btn-ghost .elementor-button:hover,
.bl-hdr .bl-btn-ghost .elementor-button:focus-visible{color:#1A3668;
  box-shadow:inset 0 -2px 0 #C9A84C}

/* THE BOUNDARY IS 1024, NOT 767. Containers stack at 767 on this site, but the
   nav-menu widget carries `elementor-nav-menu--dropdown-tablet`, so the burger
   appears at the TABLET breakpoint. With the block at 767 a 900px viewport got
   the desktop rail with a burger in it: the burger sat centred at x=405 and
   measured 33px, under the 44px minimum. The mega panel is disabled at the same
   width, so the two agree. */
@media(max-width:1024px){
  .bl-hdr{--bl-hdr-h:64px;height:64px!important}
  .bl-hdr-row{padding:0 20px!important;gap:12px;flex-direction:row!important}
  .bl-hdr-logo{flex:1 1 auto}
  .bl-hdr-nav{flex:0 0 auto;justify-content:flex-end!important}
  .bl-hdr .bl-hdr-nav .elementor-nav-menu>li.menu-item-has-children:hover>ul.sub-menu.elementor-nav-menu--dropdown,
  .bl-hdr .bl-hdr-nav .elementor-nav-menu>li.menu-item-has-children:focus-within>ul.sub-menu.elementor-nav-menu--dropdown{
    position:static!important;width:auto!important;display:block!important;
    padding:0!important;background:transparent!important;border-top:0!important;
    -webkit-backdrop-filter:none;backdrop-filter:none}
  body::after{display:none!important}
  .bl-hdr .elementor-menu-toggle{min-width:44px;min-height:44px}
  /* The Contact button gets the same tap target as the burger beside it.
     Measured on the phone once it was revealed: 70x31px against the burger's
     44x44, which is under the 44px guideline and looked slight next to it. */
  .bl-hdr-act .bl-btn .elementor-button{min-height:44px;display:inline-flex;
    align-items:center}
}
/* THE CONTACT BUTTON IS NOT HIDDEN ON A PHONE. It used to be, by
   `@media(max-width:520px){.bl-hdr-act{display:none!important}}`, so on every
   phone the header carried a logo and a burger and nothing else. Fabian,
   24 August 2026: the Contact button is arguably the most important button on
   the site.

   There was never a space reason for it. Measured at 390px: the row has 350px of
   inner width and needs 164px, being a 26px logo image, a 70px Contact button
   and a 44px burger with two 12px gaps. 186px spare. Below 380px the button
   tightens rather than disappearing. */
@media(max-width:380px){
  .bl-hdr-act .bl-btn .elementor-button{padding:8px 11px!important;
    font-size:12px!important}
  .bl-hdr-row{gap:8px!important}
}
@media(prefers-reduced-motion:reduce){
  body::after,.bl-hdr .elementor-nav-menu>li>a.elementor-item::after,
  .bl-hdr .bl-btn .elementor-button{transition:none!important}
}
/* == BL HEADER v2 : end == */

/* == BL MEGA PANELS : begin, apply_mega_panel.py == */
/* Hidden by default. Each panel is revealed by :has() on its own menu item's id
   class, and held open by its own :hover once the pointer leaves the bar. */
/* NOT display:none. A display:none panel never fetches its photographs, because
   Elementor marks them loading="lazy", so the first hover showed the layout with
   three empty boxes and decoded the images afterwards. Measured: naturalWidth 0
   on every image while the boxes were already 277x136. Hidden by visibility and
   opacity instead, the images load with the page and the panel gets a real
   entrance for free. pointer-events:none is not optional, or five invisible
   full-width panels sit over the page swallowing clicks. */
.bl-hdr .bl-mega{opacity:0!important;visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .22s cubic-bezier(.2,.6,.3,1),
             visibility .22s steps(1)!important;
  position:fixed!important;
  top:var(--bl-hdr-h)!important;left:0!important;right:0!important;
  width:auto!important;max-width:none!important;
  /* Nearly opaque, not translucent: the panels carry text and photographs, and
     at .96 the navy hero behind ghosted through the copy. */
  background:rgba(244,246,249,.985)!important;
  -webkit-backdrop-filter:saturate(1.8) blur(20px);
  backdrop-filter:saturate(1.8) blur(20px);
  border-top:1px solid rgba(26,54,104,.10)!important;
  box-shadow:0 18px 40px rgba(26,54,104,.10)!important;
  padding:34px 28px 38px!important;margin:0!important;z-index:1}
.bl-hdr:has(.menu-item-6612:hover) .bl-mega-expertise,
.bl-hdr .bl-mega-expertise:hover{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body:has(.bl-hdr .menu-item-6612:hover)::after,
body:has(.bl-hdr .bl-mega-expertise:hover)::after{opacity:1!important;visibility:visible!important}
.bl-hdr:has(.menu-item-6658:hover) .bl-mega-industries,
.bl-hdr .bl-mega-industries:hover{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body:has(.bl-hdr .menu-item-6658:hover)::after,
body:has(.bl-hdr .bl-mega-industries:hover)::after{opacity:1!important;visibility:visible!important}
.bl-hdr:has(.menu-item-6781:hover) .bl-mega-careers,
.bl-hdr .bl-mega-careers:hover{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body:has(.bl-hdr .menu-item-6781:hover)::after,
body:has(.bl-hdr .bl-mega-careers:hover)::after{opacity:1!important;visibility:visible!important}
.bl-hdr:has(.menu-item-6873:hover) .bl-mega-knowledge,
.bl-hdr .bl-mega-knowledge:hover{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body:has(.bl-hdr .menu-item-6873:hover)::after,
body:has(.bl-hdr .bl-mega-knowledge:hover)::after{opacity:1!important;visibility:visible!important}
.bl-hdr:has(.menu-item-1929:hover) .bl-mega-international,
.bl-hdr .bl-mega-international:hover{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body:has(.bl-hdr .menu-item-1929:hover)::after,
body:has(.bl-hdr .bl-mega-international:hover)::after{opacity:1!important;visibility:visible!important}

/* International Service still has a real WordPress sub-menu. The panel replaces
   it here rather than deleting it from the menu, which stays correct for any
   page not carrying this header. */
/* EIGHT CLASSES, because the header block's own open-state rule for this
   sub-menu carries seven and !important. At the shorter body.elementor-page-6702 the old list
   drew straight through the panel: "Singapore Germany Vietnam" sat over the
   cards and pushed the aside's first link out of the top of the box. */
.bl-hdr .bl-hdr-nav .elementor-nav-menu>li.menu-item-1929.menu-item-has-children:hover>ul.sub-menu.elementor-nav-menu--dropdown,
.bl-hdr .bl-hdr-nav .elementor-nav-menu>li.menu-item-1929.menu-item-has-children:focus-within>ul.sub-menu.elementor-nav-menu--dropdown,
.bl-hdr .bl-hdr-nav .elementor-nav-menu>li.menu-item-1929>ul.sub-menu{
  display:none!important}

/* EVERY LAYOUT RULE BELOW IS OVER-SPECIFIED AND !important. A page's custom CSS
   is printed BEFORE Elementor's widget stylesheets, so at equal specificity ours
   loses on cascade order alone: the first build came out 1267px tall with the
   cards stacked and the photographs at three different widths. */
.bl-hdr .bl-mega .bl-mega-rail{max-width:1240px!important;margin-inline:auto!important;
  display:flex!important;flex-direction:row!important;
  align-items:flex-start!important;gap:44px!important;width:100%!important}
.bl-hdr .bl-mega .bl-mega-cards{display:flex!important;flex-direction:row!important;
  gap:26px!important;flex:1 1 auto!important;width:auto!important;
  --width:auto!important;align-items:stretch!important}
/* A card is one third of the cards area whatever the panel holds, so every card
   on the site is the same size, and a row with fewer than three is left aligned
   rather than stretched. The single featured item on Knowledge is the exception
   and is deliberately wider, so it reads as a feature rather than an orphan. */
.bl-hdr .bl-mega .bl-mega-cards{justify-content:flex-start!important}
.bl-hdr .bl-mega .bl-mega-card{flex:0 0 calc((100% - 52px)/3)!important;
  width:auto!important;--width:auto!important;min-width:0!important;
  display:block!important;padding:0!important}
.bl-hdr .bl-mega .bl-mega-n1 .bl-mega-card{flex:0 0 46%!important}
/* The WHOLE chain, not just the img: `link_to: custom` wraps it in an
   inline-block anchor, so width:100% on the img would resolve against a parent
   sized BY the img. */
.bl-hdr .bl-mega .bl-mega-card .elementor-widget-image,
.bl-hdr .bl-mega .bl-mega-card .elementor-widget-image .elementor-widget-container,
.bl-hdr .bl-mega .bl-mega-card .elementor-widget-image a{display:block!important;
  width:100%!important;max-width:none!important;line-height:0!important}
.bl-hdr .bl-mega .bl-mega-card .elementor-widget-image img{width:100%!important;
  height:136px!important;object-fit:cover!important;display:block!important;
  border-radius:4px!important;max-width:none!important}
/* The image-less card: a tinted block the same height, so a card with no
   licensed picture reads as deliberate rather than broken. */
.bl-hdr .bl-mega .bl-mega-noshot{height:136px!important;border-radius:4px!important;
  background:linear-gradient(135deg,rgba(26,54,104,.16),
    rgba(201,168,76,.24))!important;
  border:1px solid rgba(26,54,104,.10)!important}
.bl-hdr .bl-mega .bl-mega-noshot p{display:none!important}
.bl-hdr .bl-mega .bl-mega-name,.bl-hdr .bl-mega .bl-mega-name .elementor-heading-title{
  font-family:Jost,sans-serif!important;font-size:15px!important;
  font-weight:600!important;letter-spacing:.01em;color:#1A3668!important;
  line-height:1.3!important;margin:14px 0 0!important}
.bl-hdr .bl-mega .bl-mega-line,.bl-hdr .bl-mega .bl-mega-line p{
  font-family:Inter,sans-serif!important;font-size:13.5px!important;
  line-height:1.55!important;color:#656F7E!important;margin:8px 0 0!important}
.bl-hdr .bl-mega .bl-mega-read{margin-top:12px!important}
.bl-hdr .bl-mega .bl-mega-read p{margin:0!important}
.bl-hdr .bl-mega .bl-mega-read a{font-family:Jost,sans-serif!important;
  font-size:13px!important;font-weight:500!important;color:#1A3668!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(26,54,104,.28);padding-bottom:2px;
  transition:border-color 160ms cubic-bezier(.2,.6,.3,1)}
.bl-hdr .bl-mega .bl-mega-read a:hover{border-bottom-color:#C9A84C}

.bl-hdr .bl-mega .bl-mega-aside{flex:0 0 274px!important;width:274px!important;
  --width:274px!important;display:block!important;
  border-left:1px solid rgba(26,54,104,.12)!important;
  padding:0 0 0 36px!important}
.bl-hdr .bl-mega .bl-mega-eyebrow,.bl-hdr .bl-mega .bl-mega-eyebrow .elementor-heading-title{
  font-family:Jost,sans-serif!important;font-size:11.5px!important;
  font-weight:600!important;letter-spacing:.14em;text-transform:uppercase;
  color:#656F7E!important;margin:0!important}
.bl-hdr .bl-mega .bl-mega-list{margin-top:10px!important}
.bl-hdr .bl-mega .bl-mega-list p{margin:0!important}
.bl-hdr .bl-mega .bl-mega-list a{display:block!important;
  font-family:Inter,sans-serif!important;font-size:13.5px!important;
  line-height:1.5!important;color:#1B2434!important;
  text-decoration:none!important;padding:8px 0!important;
  border-bottom:1px solid rgba(26,54,104,.08);
  transition:color 160ms cubic-bezier(.2,.6,.3,1)}
.bl-hdr .bl-mega .bl-mega-list a:hover{color:#1A3668!important}
.bl-hdr .bl-mega .bl-mega-cta{margin-top:18px!important}
.bl-hdr .bl-mega .bl-mega-cta .elementor-button{font-family:Jost,sans-serif!important;
  font-size:13px!important;font-weight:500!important;
  background:#1A3668!important;color:#fff!important;border:0!important;
  border-radius:4px!important;padding:11px 18px!important;
  transition:box-shadow 160ms cubic-bezier(.2,.6,.3,1)}
.bl-hdr .bl-mega .bl-mega-cta .elementor-button:hover{box-shadow:inset 0 -2px 0 #C9A84C}

/* A panel this size is a desktop affordance, and 1024 is where the nav becomes
   a burger, so both stop at the same width. */
@media(max-width:1024px){.bl-hdr .bl-mega{display:none!important}}
/* Reduced motion keeps the panel and drops the fade. */
@media(prefers-reduced-motion:reduce){.bl-hdr .bl-mega{transition:none!important}}
@media(prefers-reduced-motion:reduce){
  .bl-hdr .bl-mega a,.bl-hdr .bl-mega .elementor-button{transition:none!important}
}
/* == BL MEGA PANELS : end == */

/* --- bl-ft generated footer, 24 August 2026 --- */
/* The footer. Scoped to bl-ft- so nothing here reaches a page band.

   References, taken for mechanics: stripe.com (84 links, no icons, hierarchy by
   weight and colour rather than size, and unequal column lengths left alone),
   pentagram.com (hairline rules between groups, one horizontal utility row).

   ONE GRID FOR BOTH ROWS. This is the whole point of this revision. The links
   were a four-column flex row and the offices were a separate flex row with a
   200px mark column, so the two grids shared no edges and the footer looked
   misaligned because it WAS misaligned. Both rows are now the same four-track
   CSS grid, so every column edge in the base row falls under a column edge in
   the link row. Grid also removes the calc-width-with-!important scaffolding the
   flex version needed, which is what broke the phone layout twice. */
.bl-ft-cols,.bl-ft-base-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:40px;
  align-items:start}

/* THE EDGE. A gold hairline, and a ground darker than any band above it. */
.bl-ft-links{border-top:2px solid #C9A84C}

/* Links. 14px against an 11px heading, so the links read first, and no icons at
   all: the footer this replaces put a chevron on every one of 36 items. */
.bl-ft-list .elementor-icon-list-icon{display:none}
.bl-ft-list .elementor-icon-list-item{padding-block:0}
.bl-ft-list .elementor-icon-list-item a{text-decoration:none}
.bl-ft-list .elementor-icon-list-item .elementor-icon-list-text{
  transition:color 160ms}

/* The base row. The mark holds the first grid cell, top-aligned with the three
   office names beside it, at a size that sits inside the column rather than
   filling it. */
.bl-ft-base{border-top:1px solid rgba(255,255,255,0.09)}
.bl-ft-logo img{width:76px;height:auto;display:block}
.bl-ft-addr .elementor-icon-list-icon{display:none}
.bl-ft-addr .elementor-icon-list-item{padding-block:0}
.bl-ft-tel .elementor-icon-list-item{padding-block:6px 0}
.bl-ft-tel a{text-decoration:none}

/* The legal bar. One slim row: small print left, LinkedIn right, on a hairline. */
.bl-ft-bar{border-top:1px solid rgba(255,255,255,0.09);margin-top:40px;
  padding-top:20px;align-items:flex-start;justify-content:space-between}
.bl-ft-legal{flex:1 1 auto}
.bl-ft-legal p{margin:0 0 3px}
.bl-ft-legal .bl-ft-legal-links a{color:#C7D3E6;text-decoration:none;
  margin-right:20px}
.bl-ft-legal .bl-ft-legal-links a:hover{color:#C9A84C}
.bl-ft-social{flex:0 0 auto}
.bl-ft-social .elementor-icon-list-icon{display:inline-flex}
.bl-ft-social a{text-decoration:none}
.bl-ft-social .elementor-icon-list-item:hover .elementor-icon-list-text{
  color:#C9A84C}

/* Two tracks from 768 to 1000, one below it. The grid needs no width forcing at
   any breakpoint, which is the other reason for using it: the flex version
   needed calc widths with !important, and unscoped they gave 39px columns at
   390px and destroyed the footer on a phone. */
@media(max-width:1000px){
  .bl-ft-cols,.bl-ft-base-row{grid-template-columns:repeat(2,minmax(0,1fr));
    gap:32px}
}
@media(max-width:767px){
  .bl-ft-cols,.bl-ft-base-row{grid-template-columns:minmax(0,1fr);gap:36px}
  .bl-ft-bar{flex-wrap:wrap;gap:16px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
/* --- end bl-ft generated footer --- *//* End custom CSS */