.elementor-15174 .elementor-element.elementor-element-e574dd6{--display:flex;--justify-content:center;}.elementor-15174 .elementor-element.elementor-element-3a58e55{--display:flex;}.elementor-15174 .elementor-element.elementor-element-b1105b2{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:4em 4em;--row-gap:4em;--column-gap:4em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-3dc2226{--display:flex;--gap:2em 2em;--row-gap:2em;--column-gap:2em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-7c9da08 .elementor-heading-title{font-size:1em;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0.1em;word-spacing:0px;color:var( --e-global-color-secondary );}.elementor-15174 .elementor-element.elementor-element-3b99ab9 .elementor-heading-title{font-size:3em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-d69be0d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:1em 1em;--row-gap:1em;--column-gap:1em;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-f9c0c1f .elementor-heading-title{font-size:0.875em;font-weight:normal;text-transform:none;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;}.elementor-15174 .elementor-element.elementor-element-f9c0c1f > .elementor-widget-container{padding:0.5em 1em 0.5em 1em;background-color:#DC843526;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-c18b7e8 );border-radius:1000px 1000px 1000px 1000px;}.elementor-15174 .elementor-element.elementor-element-f9c0c1f:hover .elementor-widget-container{background-color:var( --e-global-color-c18b7e8 );}.elementor-15174 .elementor-element.elementor-element-6529e33 .elementor-heading-title{font-size:0.875em;font-weight:normal;text-transform:none;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF99;}.elementor-15174 .elementor-element.elementor-element-7a04bc7{--display:flex;--gap:2em 2em;--row-gap:2em;--column-gap:2em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-596946b{font-size:1.25em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-1bfa851{--display:flex;}.elementor-15174 .elementor-element.elementor-element-1bfa851:not(.elementor-motion-effects-element-type-background), .elementor-15174 .elementor-element.elementor-element-1bfa851 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#111111;}.elementor-15174 .elementor-element.elementor-element-6e0d51b{--display:flex;}.elementor-15174 .elementor-element.elementor-element-cccd621{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:2em 2em;--row-gap:2em;--column-gap:2em;--grid-auto-flow:row;--justify-items:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-98a9be3{--display:flex;--gap:1em 1em;--row-gap:1em;--column-gap:1em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-ae5aa64{text-align:center;}.elementor-15174 .elementor-element.elementor-element-ae5aa64 .elementor-heading-title{font-size:0.875em;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-fa340e7 .elementor-counter-number-wrapper{font-size:2.5em;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;}.elementor-15174 .elementor-element.elementor-element-fa340e7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15174 .elementor-element.elementor-element-569f789{text-align:center;}.elementor-15174 .elementor-element.elementor-element-569f789 .elementor-heading-title{font-size:0.75em;font-weight:500;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF99;}.elementor-15174 .elementor-element.elementor-element-f669d63{--display:flex;--gap:1em 1em;--row-gap:1em;--column-gap:1em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-4ce1002{text-align:center;}.elementor-15174 .elementor-element.elementor-element-4ce1002 .elementor-heading-title{font-size:0.875em;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-36c087e .elementor-counter-number-wrapper{font-size:2.5em;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;}.elementor-15174 .elementor-element.elementor-element-36c087e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15174 .elementor-element.elementor-element-fafe53e{text-align:center;}.elementor-15174 .elementor-element.elementor-element-fafe53e .elementor-heading-title{font-size:0.75em;font-weight:500;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF99;}.elementor-15174 .elementor-element.elementor-element-d727156{--display:flex;--gap:1em 1em;--row-gap:1em;--column-gap:1em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-1408377{text-align:center;}.elementor-15174 .elementor-element.elementor-element-1408377 .elementor-heading-title{font-size:0.875em;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-c769f9a .elementor-counter-number-wrapper{font-size:2.5em;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;}.elementor-15174 .elementor-element.elementor-element-c769f9a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15174 .elementor-element.elementor-element-2498bc6{text-align:center;}.elementor-15174 .elementor-element.elementor-element-2498bc6 .elementor-heading-title{font-size:0.75em;font-weight:500;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF99;}.elementor-15174 .elementor-element.elementor-element-aa76ec4{--display:flex;--gap:1em 1em;--row-gap:1em;--column-gap:1em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-bd53f73{text-align:center;}.elementor-15174 .elementor-element.elementor-element-bd53f73 .elementor-heading-title{font-size:0.875em;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-1605445 .elementor-counter-number-wrapper{font-size:2.5em;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;}.elementor-15174 .elementor-element.elementor-element-1605445 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15174 .elementor-element.elementor-element-d20f70f{text-align:center;}.elementor-15174 .elementor-element.elementor-element-d20f70f .elementor-heading-title{font-size:0.75em;font-weight:500;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF99;}.elementor-15174 .elementor-element.elementor-element-a1cc11c{--display:flex;}.elementor-15174 .elementor-element.elementor-element-a1cc11c:not(.elementor-motion-effects-element-type-background), .elementor-15174 .elementor-element.elementor-element-a1cc11c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-15174 .elementor-element.elementor-element-fb1805d{--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-15174 .elementor-element.elementor-element-587a390{--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:4em 4em;--row-gap:4em;--column-gap:4em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-74efbd7{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-8e51856 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-15174 .elementor-element.elementor-element-8e51856 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-15174 .elementor-element.elementor-element-8e51856{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-15174 .elementor-element.elementor-element-8e51856 .elementor-icon-list-text{transition:color 0.3s;}.elementor-15174 .elementor-element.elementor-element-8e51856 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15174 .elementor-element.elementor-element-1c6def8 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-15174 .elementor-element.elementor-element-59c65e7{--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:4em 4em;--row-gap:4em;--column-gap:4em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-b53a13d{--display:flex;--gap:2em 2em;--row-gap:2em;--column-gap:2em;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-1675457{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-dbcaa4f .elementor-heading-title{font-size:1em;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0.1em;color:var( --e-global-color-secondary );}.elementor-15174 .elementor-element.elementor-element-513bead .elementor-heading-title{font-size:2.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-970342c{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-b499916 .elementor-heading-title{font-size:1.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-d158ed4{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-1ffbb01{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-1336d83{--display:flex;--gap:2em 2em;--row-gap:2em;--column-gap:2em;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-926a4f1{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-757a366 .elementor-heading-title{font-size:1em;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0.1em;color:var( --e-global-color-secondary );}.elementor-15174 .elementor-element.elementor-element-86774d4 .elementor-heading-title{font-size:2.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-def9e5d{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-721fd80 .elementor-heading-title{font-size:1.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-ad45f27{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-e111749 .elementor-heading-title{font-size:1.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-05c82eb{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-4409e74{--display:flex;--gap:2em 2em;--row-gap:2em;--column-gap:2em;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-5990ab9{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-93d006f .elementor-heading-title{font-size:1em;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0.1em;color:var( --e-global-color-secondary );}.elementor-15174 .elementor-element.elementor-element-d624a13 .elementor-heading-title{font-size:2.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-a2b24ec{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-972ec83 .elementor-heading-title{font-size:1.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-20dee95{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-0eacf5a .elementor-heading-title{font-size:1.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-3ee0293{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-e67313d .elementor-heading-title{font-size:1.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-6877d2e{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-7bca763{--display:flex;--gap:2em 2em;--row-gap:2em;--column-gap:2em;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-9cb3572{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-1ae8aa1 .elementor-heading-title{font-size:1em;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0.1em;color:var( --e-global-color-secondary );}.elementor-15174 .elementor-element.elementor-element-0c52572 .elementor-heading-title{font-size:2.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-91e2887{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-887706b{--display:flex;--gap:2em 2em;--row-gap:2em;--column-gap:2em;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-1e7fbf4{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-1a68d4f .elementor-heading-title{font-size:1em;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0.1em;color:var( --e-global-color-secondary );}.elementor-15174 .elementor-element.elementor-element-4adfc32 .elementor-heading-title{font-size:2.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-f6fca58{font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-d2be17a{--display:flex;}.elementor-15174 .elementor-element.elementor-element-d2be17a:not(.elementor-motion-effects-element-type-background), .elementor-15174 .elementor-element.elementor-element-d2be17a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-15174 .elementor-element.elementor-element-ece649e{--display:flex;}.elementor-15174 .elementor-element.elementor-element-1385123{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:2em 2em;--row-gap:2em;--column-gap:2em;--border-radius:1em 1em 1em 1em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:4em;--padding-bottom:4em;--padding-left:4em;--padding-right:4em;}.elementor-15174 .elementor-element.elementor-element-1385123:not(.elementor-motion-effects-element-type-background), .elementor-15174 .elementor-element.elementor-element-1385123 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#141414;}.elementor-15174 .elementor-element.elementor-element-cdfe6da{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:2em 2em;--row-gap:2em;--column-gap:2em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15174 .elementor-element.elementor-element-32eff91{text-align:center;}.elementor-15174 .elementor-element.elementor-element-32eff91 .elementor-heading-title{font-size:2.5em;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1;letter-spacing:0px;word-spacing:0px;color:#FFFFFF;}.elementor-15174 .elementor-element.elementor-element-5edd3cc{text-align:center;font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}.elementor-15174 .elementor-element.elementor-element-a7c1db9{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-15174 .elementor-element.elementor-element-0f70f5b .elementor-button{font-family:"League Spartan", Sans-serif;font-size:0.875em;font-weight:500;line-height:1;letter-spacing:0px;word-spacing:0px;fill:var( --e-global-color-astglobalcolor5 );color:var( --e-global-color-astglobalcolor5 );background-color:transparent;background-image:linear-gradient(180deg, #0C2D49 0%, var( --e-global-color-secondary ) 100%);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );border-radius:0.5em 0.5em 0.5em 0.5em;padding:0.75em 1.25em 0.57em 1.25em;}.elementor-15174 .elementor-element.elementor-element-0f70f5b.elementor-element{--align-self:center;}.elementor-15174 .elementor-element.elementor-element-0f70f5b > .elementor-widget-container{border-radius:15px 15px 15px 15px;}.elementor-15174 .elementor-element.elementor-element-ba005d2 .elementor-button{font-family:"League Spartan", Sans-serif;font-size:0.875em;font-weight:500;line-height:1;letter-spacing:0px;word-spacing:0px;fill:var( --e-global-color-astglobalcolor5 );color:var( --e-global-color-astglobalcolor5 );background-color:#0000004D;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );border-radius:0.5em 0.5em 0.5em 0.5em;padding:0.75em 1.25em 0.57em 1.25em;}.elementor-15174 .elementor-element.elementor-element-ba005d2.elementor-element{--align-self:center;}.elementor-15174 .elementor-element.elementor-element-ba005d2 > .elementor-widget-container{border-radius:15px 15px 15px 15px;}.elementor-15174 .elementor-element.elementor-element-425d596{--display:flex;}.elementor-15174 .elementor-element.elementor-element-425d596:not(.elementor-motion-effects-element-type-background), .elementor-15174 .elementor-element.elementor-element-425d596 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-15174 .elementor-element.elementor-element-625f085{--display:flex;}.elementor-15174 .elementor-element.elementor-element-8920ab6{text-align:center;font-size:1em;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;word-spacing:0px;color:#FFFFFFCC;}@media(min-width:768px){.elementor-15174 .elementor-element.elementor-element-74efbd7{--width:25%;}.elementor-15174 .elementor-element.elementor-element-59c65e7{--width:75%;}}@media(max-width:880px) and (min-width:768px){.elementor-15174 .elementor-element.elementor-element-59c65e7{--width:100%;}}@media(max-width:1500px){.elementor-15174 .elementor-element.elementor-element-b1105b2{--gap:3em 3em;--row-gap:3em;--column-gap:3em;}.elementor-15174 .elementor-element.elementor-element-3b99ab9 .elementor-heading-title{font-size:2.5em;}.elementor-15174 .elementor-element.elementor-element-596946b{font-size:1em;}.elementor-15174 .elementor-element.elementor-element-cccd621{--grid-auto-flow:row;}.elementor-15174 .elementor-element.elementor-element-0f70f5b{z-index:3;}.elementor-15174 .elementor-element.elementor-element-ba005d2{z-index:3;}}@media(max-width:1024px){.elementor-15174 .elementor-element.elementor-element-b1105b2{--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-15174 .elementor-element.elementor-element-cccd621{--e-con-grid-template-columns:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-15174 .elementor-element.elementor-element-587a390{--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-15174 .elementor-element.elementor-element-59c65e7.e-con{--align-self:stretch;}.elementor-15174 .elementor-element.elementor-element-0f70f5b .elementor-button{font-size:15px;border-radius:0.5em 0.5em 0.5em 0.5em;}.elementor-15174 .elementor-element.elementor-element-ba005d2 .elementor-button{font-size:15px;border-radius:0.5em 0.5em 0.5em 0.5em;}}@media(max-width:880px){.elementor-15174 .elementor-element.elementor-element-cccd621{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-15174 .elementor-element.elementor-element-cccd621{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-15174 .elementor-element.elementor-element-59c65e7{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-15174 .elementor-element.elementor-element-59c65e7{--width:100%;}}@media(min-width:2400px){.elementor-15174 .elementor-element.elementor-element-cccd621{--grid-auto-flow:row;}}/* Start custom CSS for heading, class: .elementor-element-3b99ab9 */.elementor-15174 .elementor-element.elementor-element-3b99ab9 {
    text-wrap: pretty;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-f9c0c1f */.elementor-15174 .elementor-element.elementor-element-f9c0c1f .elementor-heading-title {
    color: var( --e-global-color-c18b7e8, #DC8435 );
    transition: 300ms all;
}

.elementor-15174 .elementor-element.elementor-element-f9c0c1f:hover .elementor-heading-title {
    color: #fff!important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-596946b */.elementor-15174 .elementor-element.elementor-element-596946b *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-596946b p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-596946b strong,
.elementor-15174 .elementor-element.elementor-element-596946b b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e574dd6 */.elementor-15174 .elementor-element.elementor-element-e574dd6 {
    --glow-offset: 0em;
    --glow-opacity: 0.5;
    --glow-size: 20em;

    position: relative;
    background:
    radial-gradient(circle var(--glow-size) at var(--glow-offset) var(--glow-offset),
      rgba(0, 112, 192, var(--glow-opacity)), transparent 70%),
    radial-gradient(circle var(--glow-size) at calc(100% - var(--glow-offset)) calc(100% - var(--glow-offset)),
      rgba(220, 132, 53, var(--glow-opacity)), transparent 70%),
    #000; 
}

.elementor-15174 .elementor-element.elementor-element-e574dd6 {
    min-height: calc(100vh - 80px - 10em - var(--wp-admin--admin-bar--height, 0px));
}/* End custom CSS */
/* Start custom CSS for counter, class: .elementor-element-fa340e7 */.elementor-15174 .elementor-element.elementor-element-fa340e7 .elementor-counter-number-wrapper {
    width: auto!important;
	display: inline-flex!important; /* shrink box to text so the gradient maps to the visible glyphs */
	background: linear-gradient(to right, #0070c0 0%, #DC8435 80%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent; /* fallback for non-webkit */
	margin: 0 auto;
}

/* Let the parent gradient bleed through every child span */
.elementor-15174 .elementor-element.elementor-element-fa340e7 .elementor-counter-number-wrapper .elementor-counter-number-prefix,
.elementor-15174 .elementor-element.elementor-element-fa340e7 .elementor-counter-number-wrapper .elementor-counter-number,
.elementor-15174 .elementor-element.elementor-element-fa340e7 .elementor-counter-number-wrapper .elementor-counter-number-suffix {
	background: none; /* kill any per-span gradient, including your current one */
	-webkit-text-fill-color: transparent;
	color: transparent;
}/* End custom CSS */
/* Start custom CSS for counter, class: .elementor-element-36c087e */.elementor-15174 .elementor-element.elementor-element-36c087e .elementor-counter-number-wrapper {
    width: auto!important;
	display: inline-flex!important; /* shrink box to text so the gradient maps to the visible glyphs */
	background: linear-gradient(to right, #0070c0 0%, #DC8435 80%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent; /* fallback for non-webkit */
	margin: 0 auto;
}

/* Let the parent gradient bleed through every child span */
.elementor-15174 .elementor-element.elementor-element-36c087e .elementor-counter-number-wrapper .elementor-counter-number-prefix,
.elementor-15174 .elementor-element.elementor-element-36c087e .elementor-counter-number-wrapper .elementor-counter-number,
.elementor-15174 .elementor-element.elementor-element-36c087e .elementor-counter-number-wrapper .elementor-counter-number-suffix {
	background: none; /* kill any per-span gradient, including your current one */
	-webkit-text-fill-color: transparent;
	color: transparent;
}/* End custom CSS */
/* Start custom CSS for counter, class: .elementor-element-c769f9a */.elementor-15174 .elementor-element.elementor-element-c769f9a .elementor-counter-number-wrapper {
    width: auto!important;
	display: inline-flex!important; /* shrink box to text so the gradient maps to the visible glyphs */
	background: linear-gradient(to right, #0070c0 0%, #DC8435 80%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent; /* fallback for non-webkit */
	margin: 0 auto;
}

/* Let the parent gradient bleed through every child span */
.elementor-15174 .elementor-element.elementor-element-c769f9a .elementor-counter-number-wrapper .elementor-counter-number-prefix,
.elementor-15174 .elementor-element.elementor-element-c769f9a .elementor-counter-number-wrapper .elementor-counter-number,
.elementor-15174 .elementor-element.elementor-element-c769f9a .elementor-counter-number-wrapper .elementor-counter-number-suffix {
	background: none; /* kill any per-span gradient, including your current one */
	-webkit-text-fill-color: transparent;
	color: transparent;
}/* End custom CSS */
/* Start custom CSS for counter, class: .elementor-element-1605445 */.elementor-15174 .elementor-element.elementor-element-1605445 .elementor-counter-number-wrapper {
    width: auto!important;
	display: inline-flex!important; /* shrink box to text so the gradient maps to the visible glyphs */
	background: linear-gradient(to right, #0070c0 0%, #DC8435 80%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent; /* fallback for non-webkit */
	margin: 0 auto;
}

/* Let the parent gradient bleed through every child span */
.elementor-15174 .elementor-element.elementor-element-1605445 .elementor-counter-number-wrapper .elementor-counter-number-prefix,
.elementor-15174 .elementor-element.elementor-element-1605445 .elementor-counter-number-wrapper .elementor-counter-number,
.elementor-15174 .elementor-element.elementor-element-1605445 .elementor-counter-number-wrapper .elementor-counter-number-suffix {
	background: none; /* kill any per-span gradient, including your current one */
	-webkit-text-fill-color: transparent;
	color: transparent;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1bfa851 */.elementor-15174 .elementor-element.elementor-element-1bfa851 {
    --section-py: 2em;
    min-height: 10em;
    justify-content: center;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-8e51856 */.side-rail {
	padding: 0.75em!important;
	margin: 0!important;
	border-radius: 0.75em;
	border: 1px solid #474747;
	background: #000;
}

.side-rail .elementor-icon-list-icon {
	display: none!important;
}

.side-rail .elementor-icon-list-item {
	--circle-color: rgba(255, 255, 255, 0.3);

	font-size: 1em!important;
	line-height: 1.1!important;
}

/* Reset the counter on the list itself */
.side-rail .elementor-icon-list-items {
	counter-reset: side-rail-item;
	list-style: none;
	margin: 0;
	padding: 0;
}

.side-rail * {
	transition: all .2s linear;
}

.side-rail .elementor-icon-list-item a {
	counter-increment: side-rail-item;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.75em;
	padding: 0.75em;
	border-radius: 0.5em;
	color: rgba(255,255,255,0.6);
}

.side-rail .elementor-icon-list-item a.active {
	background: rgba(255,255,255,0.15);
	color: #fff;

	--circle-color: #DC8435;
}

.side-rail .elementor-icon-list-item a:hover {
	background: rgba(220,132,53,0.25);
	color: rgba(255,255,255,1);

	--circle-color: #DC8435;
}

/* Circle */
.side-rail .elementor-icon-list-item a::before {

	content: "";
	order: -2;
	flex: 0 0 auto;
	width: 0.75em;
	height: 0.75em;
	border-radius: 50%;
	background-color: var(--circle-color);
	transition: all .2s linear!important;
}

/* Number — 01, 02, 03... */
.side-rail .elementor-icon-list-item a::after {
	content: counter(side-rail-item, decimal-leading-zero);

	/* Override Elementor's divider styles */
	position: static;
	top: auto;
	left: auto;
	right: auto;
	bottom: auto;
	width: auto;
	height: auto;
	border: none;
	transform: none;

	order: -1;
	flex: 0 0 auto;
	color: #DC8435;
	font-weight: 700;
	font-size: 0.75em;
	letter-spacing: 0.1em;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-74efbd7 */.elementor-15174 .elementor-element.elementor-element-74efbd7 {
    padding-top: var(--section-py);
}

.elementor-13232 .elementor-element.elementor-element-786c7286 {
    z-index: 999!important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-970342c */.elementor-15174 .elementor-element.elementor-element-970342c *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-970342c p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-970342c strong,
.elementor-15174 .elementor-element.elementor-element-970342c b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-d158ed4 */.elementor-15174 .elementor-element.elementor-element-d158ed4 *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-d158ed4 p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-d158ed4 strong,
.elementor-15174 .elementor-element.elementor-element-d158ed4 b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1ffbb01 */.elementor-15174 .elementor-element.elementor-element-1ffbb01 *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-1ffbb01 p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-1ffbb01 strong,
.elementor-15174 .elementor-element.elementor-element-1ffbb01 b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b53a13d */.elementor-15174 .elementor-element.elementor-element-b53a13d {
    text-wrap: pretty;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-def9e5d */.elementor-15174 .elementor-element.elementor-element-def9e5d *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-def9e5d p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-def9e5d strong,
.elementor-15174 .elementor-element.elementor-element-def9e5d b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-ad45f27 */.elementor-15174 .elementor-element.elementor-element-ad45f27 *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-ad45f27 p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-ad45f27 strong,
.elementor-15174 .elementor-element.elementor-element-ad45f27 b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-05c82eb */.elementor-15174 .elementor-element.elementor-element-05c82eb *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-05c82eb p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-05c82eb strong,
.elementor-15174 .elementor-element.elementor-element-05c82eb b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1336d83 */.elementor-15174 .elementor-element.elementor-element-1336d83 {
    text-wrap: pretty;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-a2b24ec */.elementor-15174 .elementor-element.elementor-element-a2b24ec *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-a2b24ec p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-a2b24ec strong,
.elementor-15174 .elementor-element.elementor-element-a2b24ec b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-20dee95 */.elementor-15174 .elementor-element.elementor-element-20dee95 *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-20dee95 p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-20dee95 strong,
.elementor-15174 .elementor-element.elementor-element-20dee95 b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3ee0293 */.elementor-15174 .elementor-element.elementor-element-3ee0293 *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-3ee0293 p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-3ee0293 strong,
.elementor-15174 .elementor-element.elementor-element-3ee0293 b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6877d2e */.elementor-15174 .elementor-element.elementor-element-6877d2e *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-6877d2e p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-6877d2e strong,
.elementor-15174 .elementor-element.elementor-element-6877d2e b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4409e74 */.elementor-15174 .elementor-element.elementor-element-4409e74 {
    text-wrap: pretty;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-91e2887 */.elementor-15174 .elementor-element.elementor-element-91e2887 *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-91e2887 p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-91e2887 strong,
.elementor-15174 .elementor-element.elementor-element-91e2887 b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7bca763 */.elementor-15174 .elementor-element.elementor-element-7bca763 {
    text-wrap: pretty;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-f6fca58 */.elementor-15174 .elementor-element.elementor-element-f6fca58 *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-f6fca58 p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-f6fca58 strong,
.elementor-15174 .elementor-element.elementor-element-f6fca58 b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-887706b */.elementor-15174 .elementor-element.elementor-element-887706b {
    text-wrap: pretty;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-59c65e7 */:root {
	--benchmark-bg: #07111f;
	--benchmark-surface: #0b0b0b;
	--benchmark-surface2: #1b1b1b;
	--benchmark-surface3: #2b2b2b;
	--benchmark-border: #222;
	--benchmark-border-soft: #222;
	--benchmark-text: rgba(255, 255, 255, 1);
	--benchmark-muted: rgba(255, 255, 255, 0.8);
	--benchmark-muted2: rgba(255, 255, 255, 0.6);
	--benchmark-accent: #dc8435;
	--benchmark-accent-soft: rgba(220, 132, 53, 0.25);
	--benchmark-pass: #4fb7a6;
	--benchmark-fail: #ef6650;
	--benchmark-warn: #f5a524;
	--benchmark-shell-max: 1920px;
	--benchmark-shell-pad: 2em;
}

.elementor-15174 .elementor-element.elementor-element-59c65e7 {
	padding-top: var(--section-py);
}

.elementor-15174 .elementor-element.elementor-element-59c65e7 [id^="sec-"] {
	scroll-margin-top: calc(80px + var(--section-py));
}

/* ── Sample-block banners (expand on click — same pattern as the video) ─── */
/* Wrap states:
   .sb-wrap            — container; toggle .is-open to swap children
   .sb-wrap > .sb-strip    — slim ~96px banner shown by default
   .sb-wrap > .sb-expanded — full content panel, hidden until .is-open       */
.sb-wrap {
	position: relative;
	margin-bottom: 1em;
}
.sb-strip {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1em;
	padding: 1em;
	min-height: 96px;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 1em;
	cursor: pointer;
	background: radial-gradient(ellipse at 0% 50%, rgba(245, 165, 36, 0.06) 0%, transparent 55%), var(--benchmark-surface) !important;
	box-shadow: 0 0.75em 2.5em -0.75em rgba(0, 0, 0, 0.4);
	transition:
		border-color 0.2s,
		transform 0.2s,
		box-shadow 0.2s;
}
.sb-strip:hover {
	border-color: rgba(245, 165, 36, 0.45) !important;
	transform: translateY(-1px);
	box-shadow: 0 1em 44px -10px rgba(0, 0, 0, 0.55) !important;
}
.sb-icon {
	width: 3em;
	height: 3em;
	border-radius: 0.75em;
	background: var(--benchmark-accent-soft) !important;
	border: 1px solid rgba(245, 165, 36, 0.32) !important;
	color: var(--benchmark-accent) !important;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition:
		transform 0.2s,
		box-shadow 0.2s;
}
.sb-strip:hover .sb-icon {
	transform: scale(1.04);
	/* box-shadow: 0 8px 22px rgba(245, 165, 36, 0.25); */
}
.sb-icon svg {
	width: 1.25em;
	height: 1.25em;
	display: block;
}
.sb-text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25em;
}
.sb-strip-title {
	font-size: 1em;
	font-weight: 500;
	color: var(--benchmark-text) !important;
	line-height: 1.3;
}
.sb-strip-meta {
	font-size: 0.75em;
	font-weight: 300;
	color: var(--benchmark-muted) !important;
	line-height: 1.5;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sb-cta {
	font-size: 0.75em;
	font-weight: 500;
	color: var(--benchmark-accent) !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 6px;
}
.sb-cta::after {
	content: "▸";
	font-size: 0.75em;
	transition: transform 0.2s;
}
.sb-strip:hover .sb-cta::after {
	transform: translateX(3px);
}

/* Expanded panel — same skin as a chart-box, plus a close button + extra
   top padding so the close button never overlaps content. */
.sb-expanded {
	display: none;
	position: relative;
	background: var(--benchmark-surface) !important;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 1em;
	padding: 3em 1em 1em;
	/* box-shadow: 0 16px 40px -12px rgba(0, 0, 0, 0.45); */
}
.sb-wrap.is-open .sb-strip {
	display: none;
}
.sb-wrap.is-open .sb-expanded {
	display: block;
}

.sb-close {
	position: absolute;
	top: 0.75em;
	right: 0.75em;
	width: 2.5em;
	height: 2.5em;
	border-radius: 50%;
	background: var(--benchmark-surface2) !important;
	border: 1px solid var(--benchmark-border) !important;
	color: var(--benchmark-muted) !important;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75em;
	padding: 0;
	line-height: 1;
	transition:
		background 0.15s,
		border-color 0.15s,
		color 0.15s;
}
.sb-close:hover {
	border-color: var(--benchmark-accent) !important;
	color: var(--benchmark-accent) !important;
	background: rgba(245, 165, 36, 0.06) !important;
}

/* ── Section 3/4 filter card (in-flow, primary) + per-chart pill + popover ── */
.filtered-sections {
	position: relative;
}

/* Primary card — sits in-flow at the top of Sec 3 once, styled like a
   chart-box but a touch lighter so it reads as a control surface. */
.filter-card {
	background: var(--benchmark-surface) !important;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 0.75em;
	padding: 1em;
	transition: border-color 0.2s;
}
.filter-card:hover {
	border-color: rgba(245, 165, 36, 0.35) !important;
}
.filter-card-hdr {
	display: flex;
	align-items: center;
	gap: 1em;
	flex-wrap: wrap;
	margin-bottom: 0.75em;
	padding-bottom: 0.75em;
	border-bottom: 1px solid var(--benchmark-border-soft) !important;
}
.filter-card-title {
	font-size: 1em;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--benchmark-accent) !important;
}
.filter-card-summary {
	flex: 1 1 auto;
	font-size: 0.75em;
	color: var(--benchmark-muted) !important;
	font-variant-numeric: tabular-nums;
}
.filter-card-summary b {
	color: var(--benchmark-text) !important;
	font-weight: 500;
}

/* Inner control grid — same DOM structure also lives inside the popover. */
.filter-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	align-items: flex-start;
}
.fb-group {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	min-width: 0;
}
.fb-group-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.5em;
}
.fb-label {
	font-size: 0.875em;
	text-transform: uppercase;
	color: var(--benchmark-muted) !important;
	font-weight: 500;
}
.fb-chips,
.fb-checks {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.fb-checks {
	flex-direction: column;
	gap: 4px;
}

/* Pill-style chips (models). */
.fb-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 12px;
	border-radius: 999px;
	border: 1px solid var(--benchmark-border) !important;
	background: var(--benchmark-surface2) !important;
	color: var(--benchmark-muted) !important;
	font-size: 0.75em;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.15s;
	font-family: inherit;
}
.fb-chip:hover {
	color: var(--benchmark-text) !important;
	border-color: rgba(245, 165, 36, 0.35) !important;
}
.fb-chip.is-on {
	color: var(--benchmark-text) !important;
	border-color: transparent;
	background: rgba(245, 165, 36, 0.16) !important;
	box-shadow: inset 0 0 0 1px rgba(245, 165, 36, 0.45);
}
.fb-chip .fb-chip-sw {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, 0.15) !important;
	flex-shrink: 0;
}

/* Checkbox stacks (task type, modality). */
.fb-check {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-size: 0.75em;
	color: var(--benchmark-text) !important;
	padding: 0.25em 0.5em;
	border-radius: 0.5em;
	transition: background 0.12s;
}
.fb-check:hover {
	background: var(--benchmark-surface2) !important;
}
.fb-check input {
	accent-color: var(--benchmark-accent) !important;
	cursor: pointer;
	width: 0.75em;
	height: 0.75em;
}

/* Segmented toggle (display mode). */
.fb-toggle {
	display: inline-flex;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 8px;
	overflow: hidden;
	background: var(--benchmark-surface2) !important;
}
.fb-toggle-btn {
	padding: 0.5em 0.75em;
	font-size: 0.75em;
	font-weight: 500;
	background: transparent !important;
	border: none !important;
	color: var(--benchmark-muted) !important;
	cursor: pointer;
	font-family: inherit;
	transition: all 0.15s;
}
.fb-toggle-btn:hover {
	color: var(--benchmark-text) !important;
}
.fb-toggle-btn.is-on {
	background: rgba(245, 165, 36, 0.18) !important;
	color: var(--benchmark-text) !important;
}

/* Reset (top-right of the card). */
.fb-reset {
	padding: 0.25em 0.75em;
	border-radius: 0.5em;
	background: transparent !important;
	border: 1px solid var(--benchmark-border) !important;
	color: var(--benchmark-muted) !important;
	font-size: 0.75em;
	font-weight: 500;
	cursor: pointer;
	font-family: inherit;
	transition: all 0.15s;
	flex-shrink: 0;
}
.fb-reset:hover {
	color: var(--benchmark-text) !important;
	border-color: rgba(245, 165, 36, 0.45) !important;
}

/* "Filters ▾" pill in each chart-box header — opens the shared popover.
   Shows a compact summary of the active slice so the reader can see at a
   glance what filter is applied to this chart. */
.filter-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0.25em 0.5em;
	border-radius: 999px;
	background: transparent !important;
	border: 1px solid var(--benchmark-border) !important;
	color: var(--benchmark-muted) !important;
	font-size: 0.75em;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.15s;
	font-family: inherit;
	font-variant-numeric: tabular-nums;
}
.filter-pill:hover {
	color: var(--benchmark-text) !important;
	border-color: rgba(245, 165, 36, 0.45) !important;
}
.filter-pill.is-active {
	color: var(--benchmark-accent) !important;
	border-color: rgba(245, 165, 36, 0.55) !important;
	background: rgba(245, 165, 36, 0.06) !important;
}
.filter-pill::before {
	content: "⚲";
	font-size: 11px;
	line-height: 1;
	opacity: 0.75;
}
.filter-pill::after {
	content: "▾";
	font-size: 9px;
	opacity: 0.75;
	margin-left: 2px;
}

/* Floating popover (singleton anchored to the most-recently-clicked pill). */
.filter-pop {
	position: absolute;
	z-index: 70;
	background: var(--benchmark-surface) !important;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 12px;
	box-shadow: 0 1em 40px rgba(0, 0, 0, 0.55) !important;
	padding: 16px 1em;
	min-width: 340px;
	max-width: 520px;
}
.filter-pop[hidden] {
	display: none;
}
.filter-pop .filter-pop-hdr {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--benchmark-border-soft) !important;
}
.filter-pop .filter-pop-title {
	flex: 1;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	color: var(--benchmark-accent) !important;
}
.filter-pop .filter-pop-close {
	padding: 2px 8px;
	border-radius: 6px;
	background: transparent !important;
	border: 1px solid var(--benchmark-border) !important;
	color: var(--benchmark-muted) !important;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
	font-family: inherit;
}
.filter-pop .filter-pop-close:hover {
	color: var(--benchmark-text) !important;
}
.filter-pop .filter-controls {
	gap: 12px 1em;
}

/* Small-n warning surfaced inside chart-boxes when a filter slice gets thin. */
.smalln-warn {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 8px 12px;
	margin-bottom: 12px;
	border-radius: 8px;
	background: rgba(245, 165, 36, 0.08) !important;
	border: 1px solid rgba(245, 165, 36, 0.3) !important;
	font-size: 12px;
	color: var(--benchmark-text) !important;
	line-height: 1.5;
}
.smalln-warn::before {
	content: "⚠";
	color: var(--benchmark-accent) !important;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.4;
	flex-shrink: 0;
}
.smalln-warn b {
	color: var(--benchmark-accent) !important;
	font-weight: 700;
}

/* Chart boxes */
.chart-box {
	background: var(--benchmark-surface) !important;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 12px;
	padding: 24px 26px;
	transition: border-color 0.2s;
	overflow-x: auto;
}
.chart-box:hover {
	border-color: rgba(245, 165, 36, 0.35) !important;
}
.chart-box h2 {
	font-size: 0.875em;
	font-weight: 600;
	color: var(--benchmark-text) !important;
	margin-bottom: 0.875em;
	text-transform: none;
}

/* Subsection header — for "Sample Conversations" / "Sample Rubric" etc.
   Sits above its own chart-box rather than inside it. */
.subsec-title {
	font-size: 22px;
	font-weight: 700;
	color: var(--benchmark-text) !important;
	letter-spacing: -0.4px;
	margin-top: 36px;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.subsec-title::before {
	content: "";
	width: 4px;
	height: 1em;
	background: var(--benchmark-accent) !important;
	border-radius: 2px;
	flex-shrink: 0;
}
.subsec-title:first-of-type {
	margin-top: 8px;
}
.subsec-lede {
	font-size: 16px;
	color: var(--benchmark-muted) !important;
	line-height: 1.75;
	max-width: 76ch;
	margin-bottom: 8px;
}
.subsec-lede:last-of-type {
	margin-bottom: 1em;
}
.subsec-lede b {
	color: var(--benchmark-text) !important;
	font-weight: 600;
}
.subsec-lede code {
	font-family: ui-monospace, monospace;
	color: var(--benchmark-accent) !important;
	background: rgba(245, 165, 36, 0.08) !important;
	padding: 1px 6px;
	border-radius: 4px;
	font-size: 12px;
}
.chart-box .note {
	font-size: 0.75em;
	color: var(--benchmark-muted) !important;
	margin-top: 10px;
	line-height: 1.5;
}
.chart-gap {
	margin-top: 1em;
}
.charts-2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1em;
}

/* Tabbed category heatmaps (component vs. case view). Title + segmented
   control live in one header row; panes show one at a time. */
.cat-tab-hdr {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.cat-tab-hdr h2 {
	margin: 0;
}
.cat-tab-title-group {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	min-width: 0;
}
/* Stacked tab panes — all panes share the same grid cell so the container
   takes the height of the TALLEST pane and tabbing doesn't reflow. */
.tok-modelbar {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 2px 0 16px;
}
.tok-modelbar .fb-label {
	margin: 0;
}
.tok-modelbar-note {
	color: var(--benchmark-muted) !important;
	font-size: 0.75em;
	font-style: italic;
	margin-left: 2px;
}
.cat-pane-stack,
.ctx-pane-stack,
.tok-pane-stack {
	display: grid;
}
.cat-pane-stack > .cat-pane,
.ctx-pane-stack > .ctx-pane,
.tok-pane-stack > .tok-pane {
	grid-column: 1;
	grid-row: 1;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}
.cat-pane-stack > .cat-pane.active,
.ctx-pane-stack > .ctx-pane.active,
.tok-pane-stack > .tok-pane.active {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}
/* Lay panes out as flex columns and push their trailing .note to the bottom
   of the chart-box, so when one pane is shorter than its sibling its footer
   text aligns to the box's bottom edge instead of floating up. */
.cat-pane,
.ctx-pane,
.tok-pane {
	display: flex;
	flex-direction: column;
}
.cat-pane > .note,
.ctx-pane > .note,
.tok-pane > .note {
	margin-top: auto;
}

/* Cap the context-length and token-spend pane stacks so the chart-box
   doesn't balloon to the height of the tallest tab. The chart content
   sits in a fixed-height scroll surface anchored to the top; the trailing
   .note caption is pinned to the bottom edge so it doesn't scroll away.
   Rubric category panes are left uncapped because both of their tabs
   sit at similar heights. */
.ctx-pane-stack > .ctx-pane,
.tok-pane-stack > .tok-pane {
	height: 540px;
	overflow: hidden;
}
.ctx-pane-stack > .ctx-pane > :not(.note),
.tok-pane-stack > .tok-pane > :not(.note) {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
}
.ctx-pane-stack > .ctx-pane > .note,
.tok-pane-stack > .tok-pane > .note {
	flex: 0 0 auto;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--benchmark-border-soft) !important;
}

/* Slope chart (context-length) */
.slope-wrap {
	width: 100%;
}
.slope-wrap svg {
	width: 100%;
	height: auto;
	display: block;
}
.slope-line {
	fill: none;
	stroke: var(--benchmark-accent) !important;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.slope-area {
	fill: url(#slope-grad) !important;
	opacity: 0.85;
}
.slope-dot {
	fill: var(--benchmark-surface) !important;
	stroke: var(--benchmark-accent) !important;
	stroke-width: 2.25;
	cursor: pointer;
	transition:
		r 0.15s,
		fill 0.15s;
}
.slope-dot:hover,
.slope-dot:focus {
	fill: var(--benchmark-accent) !important;
	r: 7;
}
.slope-axis {
	stroke: var(--benchmark-border) !important;
	stroke-width: 1;
}
.slope-grid {
	stroke: var(--benchmark-border-soft) !important;
	stroke-width: 1;
	stroke-dasharray: 2 3;
}
.slope-tick {
	fill: var(--benchmark-muted) !important;
	font-size: 11px;
	font-family: "League Spartan", sans-serif;
	font-variant-numeric: tabular-nums;
}
.slope-xlbl {
	fill: var(--benchmark-muted) !important;
	font-size: 11px;
	font-weight: 600;
	font-family: "League Spartan", sans-serif;
}
.slope-ylbl {
	fill: var(--benchmark-muted) !important;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.7px;
	font-weight: 700;
	font-family: "League Spartan", sans-serif;
}
.slope-val {
	fill: var(--benchmark-text) !important;
	font-size: 12px;
	font-weight: 700;
	font-family: "League Spartan", sans-serif;
	font-variant-numeric: tabular-nums;
}
.slope-n {
	fill: var(--benchmark-muted2) !important;
	font-size: 10px;
	font-family: "League Spartan", sans-serif;
	font-variant-numeric: tabular-nums;
}
/* Multi-series slope (per-model lines) */
.slope-line-multi {
	fill: none;
	stroke-width: 2.25;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.slope-dot-multi {
	stroke-width: 1.5;
}
.slope-dot-multi:hover {
	r: 6;
}
.slope-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 22px;
	justify-content: center;
	margin-top: 8px;
}
.slope-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--benchmark-muted) !important;
	font-weight: 600;
}
.slope-legend-sw {
	width: 22px;
	height: 3px;
	border-radius: 2px;
	flex-shrink: 0;
}

/* Failure-mode-mix stacked bars */
.fmm-row {
	display: grid;
	grid-template-columns: 110px 1fr 90px;
	gap: 14px;
	align-items: center;
	margin-bottom: 14px;
}
.fmm-row:last-child {
	margin-bottom: 0;
}
.fmm-band {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--benchmark-text) !important;
	letter-spacing: -0.2px;
}
.fmm-band-sub {
	font-size: 10.5px;
	color: var(--benchmark-muted2) !important;
	font-weight: 500;
	margin-top: 2px;
	letter-spacing: 0.2px;
}
.fmm-bar {
	display: flex;
	height: 26px;
	border-radius: 6px;
	overflow: hidden;
	background: var(--benchmark-surface3) !important;
	border: 1px solid var(--benchmark-border) !important;
}
.fmm-seg {
	height: 100%;
	transition: filter 0.15s;
	cursor: default;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10.5px;
	font-weight: 700;
	color: rgba(7, 17, 31, 0.85) !important;
	letter-spacing: -0.2px;
	overflow: hidden;
	white-space: nowrap;
}
.fmm-seg:hover {
	filter: brightness(1.18);
}
.fmm-meta {
	font-size: 11px;
	color: var(--benchmark-muted) !important;
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.fmm-meta .fmm-meta-strong {
	color: var(--benchmark-text) !important;
	font-weight: 700;
}
.fmm-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 1em;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--benchmark-border-soft) !important;
}
.fmm-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 11.5px;
	color: var(--benchmark-muted) !important;
}
.fmm-legend-sw {
	width: 11px;
	height: 11px;
	border-radius: 3px;
	flex-shrink: 0;
}
/* Grouped FMM (per-band → per-model bars) */
.fmmg-band {
	margin-bottom: 1em;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--benchmark-border-soft) !important;
}
.fmmg-band:last-of-type {
	border-bottom: none;
	margin-bottom: 8px;
}
.fmmg-band-hdr {
	margin-bottom: 10px;
}
.fmmg-bars {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
/* Right padding reserves room for the scroll gutter so the meta column's
   "failed cases / fail components" text stays inside the scrollable area
   instead of being clipped under the scrollbar. */
.fmmg-bar-row {
	display: grid;
	grid-template-columns: 130px 1fr 110px;
	gap: 14px;
	align-items: center;
	padding-right: 1em;
}
.fmmg-model {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--benchmark-text) !important;
	letter-spacing: -0.1px;
}
.fmmg-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--benchmark-muted2) !important;
	font-size: 11px;
	font-style: italic;
}

/* ── Token-analyses tabs (Pass Rate vs Tokens · Logistic Regression) ── */
.tok-bin-wrap {
	width: 100%;
}
.tok-bin-wrap svg {
	width: 100%;
	height: auto;
	display: block;
}
.tok-bin-grid {
	stroke: var(--benchmark-border-soft) !important;
	stroke-width: 1;
	stroke-dasharray: 2 3;
}
.tok-bin-axis {
	stroke: var(--benchmark-border) !important;
	stroke-width: 1;
}
.tok-bin-tick {
	fill: var(--benchmark-muted) !important;
	font-size: 11px;
	font-variant-numeric: tabular-nums;
}
.tok-bin-axis-lbl {
	fill: var(--benchmark-muted) !important;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.tok-bin-line {
	fill: none;
	stroke-width: 2;
}
.tok-bin-dot {
	stroke: var(--benchmark-surface) !important;
	stroke-width: 1.5;
}
.tok-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 22px;
	margin-top: 6px;
	justify-content: center;
}
.tok-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--benchmark-muted) !important;
	font-weight: 600;
}
.tok-legend-sw {
	width: 22px;
	height: 3px;
	border-radius: 2px;
	flex-shrink: 0;
}
.tok-lr-row {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 14px;
	align-items: center;
	padding: 10px 0;
	border-top: 1px solid var(--benchmark-border) !important;
}
.tok-lr-row:first-child {
	border-top: none;
}
.tok-lr-model {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.tok-lr-terms {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.tok-lr-term {
	display: grid;
	grid-template-columns: 170px 1fr 170px;
	gap: 10px;
	align-items: center;
}
.tok-lr-tlabel {
	font-size: 11.5px;
	color: var(--benchmark-text) !important;
}
.tok-lr-bar {
	position: relative;
	height: 22px;
	background: rgba(255, 255, 255, 0.03) !important;
	border-radius: 4px;
}
.tok-lr-zero {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
	background: var(--benchmark-muted2) !important;
	opacity: 0.55;
}
.tok-lr-ci {
	position: absolute;
	top: 9px;
	height: 4px;
	border-radius: 2px;
	opacity: 0.5;
}
.tok-lr-cap {
	position: absolute;
	top: 6px;
	width: 1.5px;
	height: 10px;
}
.tok-lr-pt {
	position: absolute;
	top: 5px;
	width: 10px;
	height: 12px;
	border-radius: 50%;
	border: 1.5px solid var(--benchmark-surface) !important;
	margin-left: -5px;
}
.tok-lr-vals {
	font-size: 11.5px;
	font-family: ui-monospace, "SF Mono", Menlo, monospace;
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.tok-lr-vals .ci {
	color: var(--benchmark-muted) !important;
	font-size: 10.5px;
}
.tok-lr-vals .stars {
	font-weight: 700;
	margin-left: 4px;
}
.tok-lr-vals.dim {
	color: var(--benchmark-muted) !important;
}
.tok-lr-axis {
	display: grid;
	grid-template-columns: 110px 1fr 170px;
	gap: 10px;
	padding: 10px 0 0;
	border-top: 1px solid var(--benchmark-border) !important;
	font-size: 10.5px;
	color: var(--benchmark-muted) !important;
}
.tok-lr-axis .ticks {
	position: relative;
	height: 16px;
}
.tok-lr-axis .tick {
	position: absolute;
	transform: translateX(-50%);
	font-variant-numeric: tabular-nums;
}
/* Group header inside the extended logreg (Tokens / Conversation / Task / Modality) */
.tok-lr-group-hdr {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.7px;
	color: var(--benchmark-accent) !important;
	padding: 8px 0 4px 4px;
	margin-top: 4px;
	border-top: 1px dashed rgba(245, 165, 36, 0.3) !important;
}
.tok-lr-group-hdr:first-child {
	border-top: none;
	margin-top: 0;
	padding-top: 0;
}

.placeholder-box {
	padding: 36px 26px;
	border: 1px dashed var(--benchmark-border) !important;
	border-radius: 10px;
	text-align: center;
	color: var(--benchmark-muted) !important;
	background: rgba(245, 165, 36, 0.04) !important;
}
.placeholder-box .ph-pill {
	display: inline-block;
	background: rgba(245, 165, 36, 0.12) !important;
	color: var(--benchmark-accent) !important;
	border: 1px solid rgba(245, 165, 36, 0.3) !important;
	font-size: 10px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 12px;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 14px;
}
.placeholder-box p {
	font-size: 13px;
	line-height: 1.65;
	max-width: 56ch;
	margin: 0 auto;
}

/* ── Comparison matrix (lives in Section 01) ── */
.matrix-wrap {
	overflow-x: auto;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 0.75em;
	background: var(--benchmark-surface) !important;
}
.matrix {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 1em;
	min-width: 760px;
	border: 0 none;
	margin: 0;
}
.matrix th,
.matrix td {
	padding: 0.75em 0.75em;
	border-bottom: 1px solid var(--benchmark-border-soft) !important;
	vertical-align: middle;
	border: 0 none;
}
.matrix thead th {
	background: var(--benchmark-surface2) !important;
	font-size: 0.875em;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--benchmark-muted) !important;
	text-align: center;
	border-bottom: 1px solid var(--benchmark-border) !important;
	white-space: nowrap;
}
.matrix thead th.feature-col {
	text-align: left;
	padding-left: 24px;
	min-width: 220px;
}
.matrix thead th.bm.lcci-col {
	color: var(--benchmark-accent) !important;
	background: var(--benchmark-accent-soft) !important;
}
.matrix tbody td.feature-cell {
	padding: 16px 24px;
}
.matrix tbody td.feature-cell .ft-name {
	font-weight: 500;
	color: var(--benchmark-text) !important;
	font-size: 0.875em;
	margin-bottom: 0.25em;
	line-height: 1.2;
}
.matrix tbody td.feature-cell .ft-desc {
	font-size: 0.75em;
	color: var(--benchmark-muted) !important;
	line-height: 1.4;
	font-weight: 300;
}
.matrix tbody td.bm-cell {
	text-align: center;
	font-weight: 500;
	font-size: 1em;
}
.matrix tbody td.bm-cell.lcci-col {
	background: rgba(245, 165, 36, 0.04) !important;
}
.matrix tbody tr:last-child td {
	border-bottom: none;
}
.matrix-footnotes {
	font-size: 0.75em;
	color: var(--benchmark-muted) !important;
	margin-top: 1em;
	line-height: 1.4;
	font-weight: 300;
}
.matrix-footnotes b {
	color: var(--benchmark-text) !important;
	font-weight: 500;
}
.cell-yes {
	color: var(--benchmark-pass) !important;
}
.cell-no {
	color: var(--benchmark-fail) !important;
	opacity: 0.65;
}
.cell-partial {
	color: var(--benchmark-warn) !important;
}

/* ── Leaderboard ── */
.lb-table-wrap {
	overflow-x: auto;
}
.lb-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.75em;
	border: 0 none;
}
.lb-table th {
	text-align: left;
	padding: 14px 16px;
	color: var(--benchmark-muted) !important;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-bottom: 1px solid var(--benchmark-border) !important;
	white-space: nowrap;
	border: 0 none;
}
.lb-table th.r {
	text-align: right;
}
.lb-table td {
	padding: 1em 16px;
	border: 0 none;
	border-bottom: 1px solid var(--benchmark-border-soft) !important;
}
.lb-table tr:last-child td {
	border-bottom: none;
}
.lb-table tr.pending {
	opacity: 0.72;
}
.lb-table tr.pending td {
	background: rgba(245, 165, 36, 0.025) !important;
}
.lb-table td.r {
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.lb-rank {
	font-size: 11px;
	color: var(--benchmark-muted) !important;
	width: 40px;
}
.lb-model {
	display: flex;
	align-items: center;
	gap: 12px;
}
.lb-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
}
.lb-name {
	font-weight: 700;
	color: var(--benchmark-text) !important;
	font-size: 14px;
}
.lb-modelid {
	font-size: 11px;
	color: var(--benchmark-muted) !important;
	margin-top: 3px;
	font-family: ui-monospace, monospace;
}
.lb-rate {
	font-size: 17px;
	font-weight: 700;
	color: var(--benchmark-text) !important;
}
.lb-bar-wrap {
	width: 140px;
	height: 4px;
	background: var(--benchmark-border) !important;
	border-radius: 2px;
	margin-top: 6px;
	margin-left: auto;
	overflow: hidden;
}
.lb-bar {
	height: 100%;
	border-radius: 2px;
	transition: width 0.6s ease;
}
.lb-pending-pill {
	display: inline-block;
	background: rgba(245, 165, 36, 0.12) !important;
	color: var(--benchmark-accent) !important;
	border: 1px solid rgba(245, 165, 36, 0.3) !important;
	font-size: 9px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 10px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

/* Sparkline column — case pass rate across content-floor bands, per model.
   Mirrors the Section 04 slope chart at row scale: same x-axis story,
   model-by-model. */
.lb-spark-cell {
	padding-left: 4px;
	padding-right: 4px;
	min-width: 160px;
	vertical-align: middle;
}
.lb-spark {
	width: 160px;
	height: 44px;
	display: block;
}
.lb-spark .sp-line {
	fill: none;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
	margin: auto auto;
}
.lb-spark .sp-area {
	opacity: 0.18;
}
.lb-spark .sp-dot {
	stroke-width: 1.5;
}
.lb-spark .sp-base {
	stroke: var(--benchmark-border-soft) !important;
	stroke-width: 1;
	stroke-dasharray: 2 3;
}
.lb-spark .sp-end {
	fill: var(--benchmark-text) !important;
	font-size: 10px;
	font-weight: 700;
	font-family: "League Spartan", sans-serif;
	font-variant-numeric: tabular-nums;
}
.lb-spark-empty {
	font-size: 11px;
	color: var(--benchmark-muted2) !important;
	font-style: italic;
}

/* ── Heatmap ── */
.heatmap-wrap {
	overflow-x: auto;
}
.heatmap-table {
	border-collapse: collapse;
	font-size: 0.875em;
	width: 100%;
	table-layout: fixed;
	border: 0 none;
}
.heatmap-table col.col-cat {
	width: 38%;
}
.heatmap-table col.col-num {
	width: 13%;
}
.heatmap-table col.col-rate {
	width: 18%;
}
.heatmap-table th {
	padding: 12px 1em;
	text-align: center;
	color: var(--benchmark-muted) !important;
	font-size: 0.875em;
	font-weight: 600;
	white-space: nowrap;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	border: 0 none;
	border-bottom: 1px solid var(--benchmark-border) !important;
}
.heatmap-table th.row-hdr {
	text-align: left;
}
.heatmap-table td {
	padding: 14px 1em;
	text-align: center;
	font-weight: 500;
	border: 0 none;
	border: 1px solid var(--benchmark-bg) !important;
	line-height: 1.3;
	font-variant-numeric: tabular-nums;
}
.heatmap-table td.row-lbl {
	text-align: left;
	color: var(--benchmark-text) !important;
	background: var(--benchmark-surface2) !important;
	font-weight: 500;
	white-space: nowrap;
	padding-right: 28px;
}
/* Side-by-side model heatmap variant (per-model columns + Overall). */
.heatmap-table.heatmap-multi {
	table-layout: auto;
}
.heatmap-table.heatmap-multi th {
	border-bottom-width: 2px;
	border-bottom-style: solid;
}
.heatmap-table.heatmap-multi th .hm-col-lbl {
	display: inline-block;
}
.heatmap-table.heatmap-multi td.r {
	text-align: right;
	padding: 12px 14px;
}
.heatmap-table.heatmap-multi td.hm-empty {
	color: var(--benchmark-muted2) !important;
	font-weight: 500;
	background: var(--benchmark-surface3) !important;
}
.heatmap-table.heatmap-multi td .hm-cell-rate {
	font-weight: 600;
	line-height: 1.15;
}
.heatmap-table.heatmap-multi td .hm-cell-n {
	font-size: 0.875em;
	font-weight: 500;
	opacity: 0.75;
	margin-top: 2px;
	letter-spacing: 0.2px;
}
.heatmap-table tr.hm-overall-row .hm-cell-rate {
	/* font-size: 14.5px; */
}

/* ── Composition stats ── */
.bov-stat-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(8em, 1fr));
	gap: 1em;
	margin-bottom: 1em;
}
.bov-stat-card {
	background: var(--benchmark-surface) !important;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 0.75em;
	padding: 20px 22px;
	transition:
		border-color 0.2s,
		transform 0.2s;
	display: flex;
	flex-direction: column;
	gap: 1em;
	text-align: center;
	justify-content: center;
	align-items: center;
}
.bov-stat-card:hover {
	border-color: rgba(245, 165, 36, 0.35) !important;
	transform: translateY(-1px);
}
.bov-stat-card .bs-label {
	font-size: 0.875em;
	text-transform: uppercase;
	color: var(--benchmark-muted) !important;
	line-height: 1;
	font-weight: 500;
}
.bov-stat-card .bs-val {
	font-size: 2.5em;
	font-weight: 600;
	color: var(--benchmark-accent) !important;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	background: linear-gradient(to right, #0070c0 0%, #dc8435 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.bov-stat-card .bs-sub {
	font-size: 0.75em;
	color: var(--benchmark-muted) !important;
	line-height: 1.2;
	font-weight: 500;
}

/* ── Distribution bars ── */
.dist-list {
	display: flex;
	flex-direction: column;
	gap: 11px;
}
.dist-row {
	display: grid;
	grid-template-columns: 160px 1fr 80px;
	gap: 14px;
	align-items: center;
}
.dist-label {
	font-size: 12.5px;
	color: var(--benchmark-text) !important;
}
.dist-bar-wrap {
	height: 10px;
	background: var(--benchmark-border-soft) !important;
	border-radius: 5px;
	overflow: hidden;
}
.dist-bar {
	height: 100%;
	background: var(--benchmark-accent) !important;
	border-radius: 5px;
	transition: width 0.6s ease;
	opacity: 0.85;
}
.dist-val {
	font-size: 12px;
	color: var(--benchmark-muted) !important;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

/* ── Sample-conversation tabs (segmented-control style) ── */
.conv-tabs {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	background: var(--benchmark-surface2) !important;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 10px;
	margin-bottom: 22px;
	flex-wrap: wrap;
}
.conv-tab {
	background: transparent !important;
	border: 1px solid transparent !important;
	color: var(--benchmark-muted) !important;
	padding: 8px 16px;
	border-radius: 7px;
	font-family: inherit;
	font-size: 0.75em;
	font-weight: 600;
	cursor: pointer;
	transition:
		color 0.15s,
		background 0.15s,
		border-color 0.15s;
}
.conv-tab:hover {
	color: var(--benchmark-text) !important;
	background: rgba(245, 165, 36, 0.05) !important;
}
.conv-tab.active {
	background: rgba(245, 165, 36, 0.12) !important;
	border-color: rgba(245, 165, 36, 0.45) !important;
	color: var(--benchmark-accent) !important;
}

/* Fixed-height pane wrapper so the page doesn't jump when the user switches
   between examples of varying depth. The thread inside scrolls. */
#conv-panes {
	position: relative;
	min-height: 720px;
}
.conv-pane {
	display: none;
}
.conv-pane.active {
	display: block;
	animation: convFade 0.25s ease;
}
@keyframes convFade {
	from {
		opacity: 0;
		transform: translateY(4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Metadata strip above each thread */
.conv-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 22px;
	padding: 14px 1em;
	background: var(--benchmark-surface2) !important;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 10px;
	margin-bottom: 1em;
}
.conv-meta-cell {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.conv-meta-k {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--benchmark-muted) !important;
}
.conv-meta-v {
	font-size: 13px;
	color: var(--benchmark-text) !important;
	font-weight: 500;
}
.conv-meta-v code {
	font-family: ui-monospace, monospace;
	font-size: 12px;
	color: var(--benchmark-accent) !important;
	background: rgba(245, 165, 36, 0.08) !important;
	padding: 2px 6px;
	border-radius: 4px;
}

/* Verdict badge bar — sits above the thread, one badge per leaderboard model
   showing case-level Pass/Fail + pass rate so readers can compare scoring at
   a glance. */
.conv-verdicts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 10px 14px;
	background: var(--benchmark-surface2) !important;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 10px;
	margin-bottom: 14px;
	align-items: center;
}
.conv-verdicts-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--benchmark-muted) !important;
	margin-right: 4px;
}
.verdict-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 11px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	border: 1px solid var(--benchmark-border) !important;
	background: var(--benchmark-surface3) !important;
}
.verdict-badge .vb-prov {
	color: var(--benchmark-text) !important;
}
.verdict-badge .vb-rate {
	color: var(--benchmark-muted) !important;
	font-family: ui-monospace, monospace;
	font-size: 10.5px;
}
.verdict-badge .vb-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--benchmark-muted) !important;
	flex-shrink: 0;
}
.verdict-badge.pass .vb-dot {
	background: #4caf7d !important;
	box-shadow: 0 0 0 3px rgba(76, 175, 125, 0.18);
}
.verdict-badge.fail .vb-dot {
	background: #d96453 !important;
	box-shadow: 0 0 0 3px rgba(217, 100, 83, 0.18);
}
.verdict-badge.pass {
	border-color: rgba(76, 175, 125, 0.4) !important;
}
.verdict-badge.fail {
	border-color: rgba(217, 100, 83, 0.4) !important;
}
.verdict-badge .vb-tag {
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	padding: 1px 6px;
	border-radius: 4px;
}
.verdict-badge.pass .vb-tag {
	background: rgba(76, 175, 125, 0.18) !important;
	color: #6bd99a !important;
}
.verdict-badge.fail .vb-tag {
	background: rgba(217, 100, 83, 0.18) !important;
	color: #ec8678 !important;
}

/* Per-component verdict chips in the rubric panes — same color language as
   the badge bar, smaller and inline next to each component header. */
.rubric-comp-verdicts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}
.rcv-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 9px;
	border-radius: 6px;
	font-size: 10.5px;
	font-weight: 600;
	border: 1px solid var(--benchmark-border) !important;
	background: var(--benchmark-surface3) !important;
	color: var(--benchmark-text) !important;
	letter-spacing: 0.2px;
}
.rcv-chip .rcv-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--benchmark-muted) !important;
	flex-shrink: 0;
}
.rcv-chip.pass {
	border-color: rgba(76, 175, 125, 0.4) !important;
}
.rcv-chip.fail {
	border-color: rgba(217, 100, 83, 0.4) !important;
}
.rcv-chip.pass .rcv-dot {
	background: #4caf7d;
}
.rcv-chip.fail .rcv-dot {
	background: #d96453;
}

/* Bubble thread — fixed height so all three panes occupy the same vertical
   space; the thread scrolls internally regardless of turn count. */
.conv-thread {
	display: flex;
	flex-direction: column;
	gap: 14px;
	height: 480px;
	overflow-y: auto;
	padding: 6px 4px 6px 0;
}
.conv-turn {
	display: flex;
	flex-direction: column;
	gap: 5px;
	max-width: 88%;
}
.conv-turn.user {
	align-self: flex-start;
}
.conv-turn.asst {
	align-self: flex-end;
	align-items: flex-end;
}
.conv-turn-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--benchmark-muted) !important;
	display: flex;
	align-items: center;
	gap: 8px;
}
.conv-turn.user .conv-turn-label {
	color: #6bb6e0;
}
.conv-turn.asst .conv-turn-label {
	color: var(--benchmark-accent) !important;
}
.conv-turn-label .turn-num {
	background: var(--benchmark-surface3) !important;
	color: var(--benchmark-muted) !important;
	font-size: 9px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 8px;
	letter-spacing: 0.4px;
}
.conv-turn-label .target-pill {
	background: rgba(245, 165, 36, 0.16) !important;
	color: var(--benchmark-accent) !important;
	border: 1px solid rgba(245, 165, 36, 0.35) !important;
	font-size: 9px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 8px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
}
.conv-bubble {
	padding: 12px 16px;
	border-radius: 12px;
	font-size: 13px;
	line-height: 1.6;
	white-space: pre-wrap;
	word-break: break-word;
	border: 1px solid var(--benchmark-border) !important;
	color: #fff;
}
.conv-turn.user .conv-bubble {
	background: var(--benchmark-surface3) !important;
	border-top-left-radius: 4px;
}
.conv-turn.asst .conv-bubble {
	background: #1e2540;
	border-color: #2e3a60;
	border-top-right-radius: 4px;
}
.conv-turn.target .conv-bubble {
	outline: 2px solid rgba(245, 165, 36, 0.55) !important;
	outline-offset: 2px;
}
.conv-thread::-webkit-scrollbar-thumb {
	background: var(--benchmark-border) !important;
}
.conv-note {
	font-size: 11px;
	color: var(--benchmark-muted) !important;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--benchmark-border-soft) !important;
	line-height: 1.6;
}

/* ── Sample-rubric tabs (reuses the conv-tabs segmented-control pattern) ── */
#rubric-panes {
	position: relative;
	min-height: 480px;
}
.rubric-pane {
	display: none;
}
.rubric-pane.active {
	display: block;
	animation: convFade 0.25s ease;
}
.rubric-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.rubric-comp {
	background: var(--benchmark-surface2) !important;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 10px;
	padding: 16px 1em;
	transition: border-color 0.2s;
}
.rubric-comp:hover {
	border-color: rgba(245, 165, 36, 0.35) !important;
}
.rubric-comp-hdr {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
	flex-wrap: wrap;
}
.rubric-comp-code {
	background: var(--benchmark-accent-soft) !important;
	color: var(--benchmark-accent) !important;
	border: 1px solid rgba(245, 165, 36, 0.35) !important;
	border-radius: 6px;
	font-family: ui-monospace, monospace;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 9px;
	letter-spacing: 0.5px;
	flex-shrink: 0;
}
.rubric-comp-cat {
	font-size: 11px;
	font-weight: 600;
	color: var(--benchmark-muted) !important;
	text-transform: uppercase;
	letter-spacing: 0.4px;
}
.rubric-comp-row {
	display: grid;
	grid-template-columns: 92px 1fr;
	gap: 12px;
	padding: 8px 0;
	align-items: start;
}
.rubric-comp-row + .rubric-comp-row {
	border-top: 1px solid var(--benchmark-border-soft) !important;
}
.rubric-comp-k {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--benchmark-muted) !important;
	padding-top: 3px;
}
.rubric-comp-v {
	font-size: 13px;
	color: var(--benchmark-text) !important;
	line-height: 1.6;
}
.rubric-comp-v.criteria {
	color: var(--benchmark-muted) !important;
	font-size: 12.5px;
}

/* ── Methodology (numbered SME steps) ── */
.sme-steps {
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 78ch;
}
.sme-step {
	display: flex;
	gap: 20px;
	align-items: flex-start;
}
.sme-icon {
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: var(--benchmark-accent-soft) !important;
	border: 1px solid rgba(245, 165, 36, 0.3) !important;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1em;
	font-weight: 700;
	color: var(--benchmark-accent) !important;
	flex-shrink: 0;
	margin-top: 2px;
}
.sme-step-body h3 {
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 8px;
	letter-spacing: -0.2px;
}
.sme-step-body p {
	font-size: 13.5px;
	color: var(--benchmark-muted) !important;
	line-height: 1.7;
}
.footnote {
	font-size: 12px;
	color: var(--benchmark-muted) !important;
	font-style: italic;
	margin-top: 28px;
	padding-top: 1em;
	border-top: 1px solid var(--benchmark-border) !important;
	line-height: 1.65;
	max-width: 78ch;
}

/* ── CTA section ── */
.cta {
	background:
		radial-gradient(circle at 100% 0%, rgba(245, 165, 36, 0.1) 0%, transparent 50%), radial-gradient(circle at 0% 100%, rgba(79, 183, 166, 0.06) 0%, transparent 50%), var(--benchmark-surface) !important;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 14px;
	padding: 48px 44px;
	text-align: center;
	position: relative;
}
.cta h2 {
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 800;
	margin-bottom: 14px;
	letter-spacing: -0.5px;
}
.cta p {
	font-size: 15px;
	color: var(--benchmark-muted) !important;
	max-width: 60ch;
	margin: 0 auto 28px;
	line-height: 1.7;
}
.cta-buttons {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}
.cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition:
		transform 0.15s,
		background 0.15s;
}
.cta-btn.primary {
	background: var(--benchmark-accent) !important;
	color: #07111f;
}
.cta-btn.primary:hover {
	background: #ffb736;
	transform: translateY(-1px);
}
.cta-btn.secondary {
	background: transparent !important;
	color: var(--benchmark-text) !important;
	border: 1px solid var(--benchmark-border) !important;
}
.cta-btn.secondary:hover {
	border-color: var(--benchmark-accent) !important;
	color: var(--benchmark-accent) !important;
}

/* ── Footer ── */
.footer {
	border-top: 1px solid var(--benchmark-border) !important;
	padding: 32px 0;
	margin-top: 56px;
}
.footer-inner {
	display: flex;
	align-items: center;
}
.footer-copy {
	font-size: 12px;
	color: var(--benchmark-muted) !important;
}
.footer-sep {
	font-size: 12px;
	color: var(--benchmark-muted) !important;
	margin: 0 4px;
}
.footer-link {
	/* font-size: 12px; */
	color: var(--benchmark-accent) !important;
	text-decoration: none;
	cursor: pointer;
}
.footer-link:hover {
	text-decoration: underline;
}

/* Special Thanks modal */
.st-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.55) !important;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	padding: 24px;
}
.st-modal-overlay[hidden] {
	display: none;
}
.st-modal {
	background: var(--benchmark-surface) !important;
	border-radius: 12px;
	max-width: 640px;
	width: 100%;
	max-height: 80vh;
	overflow-y: auto;
	padding: 32px 36px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	position: relative;
	border: 1px solid var(--benchmark-border) !important;
}
.st-modal-close {
	position: absolute;
	top: 12px;
	right: 16px;
	background: none;
	border: none;
	font-size: 28px;
	line-height: 1;
	color: var(--benchmark-muted) !important;
	cursor: pointer;
	padding: 4px 8px;
}
.st-modal-close:hover {
	color: var(--benchmark-text) !important;
}
.st-modal-title {
	font-family: "League Spartan", sans-serif;
	font-size: 1.5em;
	font-weight: 600;
	margin: 0 0 8px;
	color: var(--benchmark-text) !important;
}
.st-modal-sub {
	font-size: 0.875em;
	color: var(--benchmark-muted) !important;
	margin: 0 0 1em;
}
.st-modal-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 6px 16px;
	font-size: 0.875em;
	color: var(--benchmark-text) !important;
}
.st-modal-list li {
	padding: 4px 0;
	border-bottom: 1px solid var(--benchmark-border-soft) !important;
}

@media (max-width: 960px) {
	:root {
		--benchmark-shell-pad: 20px;
	}
	.kpi-strip {
		grid-template-columns: 1fr 1fr;
	}
	.charts-2col {
		grid-template-columns: 1fr;
	}
	.fmm-row {
		grid-template-columns: 90px 1fr;
	}
	.fmm-row .fmm-meta {
		display: none;
	}
	.dist-row {
		grid-template-columns: 120px 1fr 70px;
	}
}
@media (max-width: 600px) {
	.kpi-strip {
		grid-template-columns: 1fr;
	}
	.cta {
		padding: 32px 24px;
	}
}

/* ── Tabbed donut box (sec-03 "look into the data") ───────────────────────── */
.donut-box {
	background: var(--benchmark-surface) !important;
	border: 1px solid var(--benchmark-border) !important;
	border-radius: 0.75em;
	padding: 2em;
	margin-bottom: 1.5em;
}
.donut-box-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75em;
	margin-bottom: 1em;
}
.donut-box-title {
	font-size: 0.875em;
	font-weight: 600;
	color: var(--benchmark-text) !important;
	line-height: 1.1;
}
.donut-box-sub {
	font-size: 0.75em;
	color: var(--benchmark-muted) !important;
	margin-top: 0.25em;
	font-weight: 300;
	line-height: 1.4;
}
.donut-grid {
	display: grid;
	grid-template-columns: 360px minmax(0, 480px);
	gap: 48px;
	align-items: center;
	justify-content: center;
}
.donut-canvas-wrap {
	position: relative;
	width: 360px;
	height: 360px;
	margin: 0 auto;
}
.donut-center {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	text-align: center;
}
.donut-center-val {
	font-size: 2em;
	font-weight: 600;
	color: var(--benchmark-text) !important;
	font-variant-numeric: tabular-nums;
}
.donut-center-lbl {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--benchmark-muted) !important;
	margin-top: 4px;
}
.donut-legend {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-variant-numeric: tabular-nums;
}
.donut-legend-row {
	display: grid;
	grid-template-columns: 12px minmax(0, 1fr) auto auto;
	gap: 12px;
	align-items: center;
	padding: 7px 8px;
	border-radius: 6px;
	font-size: 0.75em;
	cursor: default;
	transition: background 0.12s;
}
.donut-legend-row:hover {
	background: rgba(245, 165, 36, 0.06) !important;
}
.donut-legend-dot {
	width: 10px;
	height: 10px;
	border-radius: 2px;
	flex-shrink: 0;
}
.donut-legend-lbl {
	color: var(--benchmark-text) !important;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.donut-legend-cnt {
	color: var(--benchmark-text) !important;
	font-size: 0.875em;
	font-weight: 500;
}
.donut-legend-pct {
	color: var(--benchmark-accent) !important;
	font-size: 0.875em;
	font-weight: 500;
	min-width: 48px;
	text-align: right;
}
@media (max-width: 880px) {
	.donut-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.donut-canvas-wrap {
		width: 280px;
		height: 280px;
	}
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-5edd3cc */.elementor-15174 .elementor-element.elementor-element-5edd3cc *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-5edd3cc p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-5edd3cc strong,
.elementor-15174 .elementor-element.elementor-element-5edd3cc b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cdfe6da */.elementor-15174 .elementor-element.elementor-element-cdfe6da {
    width: 100%;
    max-width: 960px;
    margin: 0 auto!important;
    padding: 0!important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1385123 */.elementor-15174 .elementor-element.elementor-element-1385123 {
      position: relative;                /* no isolation, no z-index here */
  border: 1px solid transparent;
  border-radius: 1em;
  background:
    linear-gradient(#0d0d0d, #0d0d0d) padding-box,
    linear-gradient(135deg, #0070C0, #DC8435) border-box;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-8920ab6 */.elementor-15174 .elementor-element.elementor-element-8920ab6 *:last-child {
    margin-bottom: 0!important;
}

.elementor-15174 .elementor-element.elementor-element-8920ab6 p {
    margin-bottom: 1.6em;
}

.elementor-15174 .elementor-element.elementor-element-8920ab6 strong,
.elementor-15174 .elementor-element.elementor-element-8920ab6 b {
    color: #ffffff;
    font-weight: 500!important;
}/* End custom CSS */