/*
Theme Name: Vstorm theme
Author: Michał Grabowski + Bartłomiej Wojtasiński
Description:  Motyw niestandardowy
Version: 1.0.11
*/


/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
# Woocommerce
# Footer
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/

body {
    margin: 0;
    -webkit-font-smoothing: auto;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block;
}

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden],
template {
    display: none;
}

a {
    background-color: transparent;
}

a:active,
a:hover {
    outline: 0;
}

dfn {
    font-style: italic;
}

mark {
    background: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 1em 2.5rem;
}

hr {
    box-sizing: content-box;
    height: 0;
}

button {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled],
html input[disabled] {
    cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input {
    line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
}

optgroup {
    font-weight: bold;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}


/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
    color: #24292e;
    font-weight: 600;
    margin-top: 24px;
    margin-bottom: 15px;
}

h1 {
    font-size: 32px;
    padding-bottom: 10px;
}

h2 {
    font-size: 24px;
    padding-bottom: 0.3em;
    line-height: 1.25;
}

h3 {
    font-size: 18px;
    line-height: 25px;
}

h4 {
    font-size: 16px;
    line-height: 20px;
}

h5 {
    font-size: 14px;
    line-height: 17.5px;
}

p {
    margin-bottom: 1.5em;
}

h1.entry-title {
    font-size: 1.31rem;
    border-bottom: 1px solid #eaecef;
}

h2.entry-title {
    border-bottom: 1px solid #eaecef;
}

h3.widget-title {
    font-size: 1.2rem;
}


/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

body {
    background: #fff;
    /* Fallback for when there is no custom background color defined. */
}

img {
    height: auto;
    /* Make sure images are scaled correctly. */
    max-width: 100%;
    /* Adhere to container width. */
}

figure {
    margin: 1em 0;
    /* Extra wide images within figure tags don't overflow the content area. */
}

table {
    margin: 0 0 1.5em;
    width: 100%;
}


/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/

header#masthead {
    margin-bottom: 0;
    background-color: #563d7c;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .05), inset 0 -1px 0 rgba(0, 0, 0, .1);
    padding: .74rem 1rem;
}

.navbar-brand>a {
    color: rgba(0, 0, 0, 0.9);
    font-size: 1.1rem;
    outline: medium none;
    text-decoration: none;
    color: #fff;
    font-weight: 700;
}

.navbar-brand>a:visited,
.navbar-brand>a:hover {
    text-decoration: none;
}

#page-sub-header {
    position: relative;
    padding-top: 5rem;
    padding-bottom: 0;
    text-align: center;
    font-size: 1.25rem;
    background-size: cover !important;
}

body:not(.theme-preset-active) #page-sub-header h1 {
    line-height: 1.6;
    font-size: 4rem;
    color: #563e7c;
    margin: 0 0 1rem;
    border: 0;
    padding: 0;
}

#page-sub-header p {
    margin-bottom: 0;
    line-height: 1.4;
    font-size: 1.25rem;
    font-weight: 300;
}

body:not(.theme-preset-active) #page-sub-header p {
    color: #212529;
}

a.page-scroller {
    color: #333;
    font-size: 2.6rem;
    display: inline-block;
    margin-top: 2rem;
}

@media screen and (min-width: 768px) {
    body:not(.theme-preset-active) #page-sub-header h1 {
        font-size: 3.750rem;
    }
    body:not(.theme-preset-active) #page-sub-header {
        font-size: 1.25rem;
    }
}

@media screen and (min-width: 992px) {
    #page-sub-header p {
        max-width: 43rem;
        margin: 0 auto;
    }
}


/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/


/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/

#masthead nav {
    padding-left: 0;
    padding-right: 0;
}

body:not(.theme-preset-active) #masthead .navbar-nav>li>a {
    color: #cdbfe3;
    padding: 0.5rem;
    font-weight: 500;
    font-size: 0.875rem;
}

body:not(.theme-preset-active) #masthead .navbar-nav>li>a:hover,
body:not(.theme-preset-active) #masthead .navbar-nav>li.current_page_item>a {
    color: #fff;
    font-weight: 600;
    /*background: #f9f9f9;*/
}

.navbar-brand {
    height: auto;
}

.navbar-toggle .icon-bar {
    background: #000 none repeat scroll 0 0;
}

.dropdown-menu .dropdown-toggle::after {
    border-bottom: 0.3em solid transparent;
    border-left: 0.3em solid;
    border-top: 0.3em solid transparent;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children {
    position: relative;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children:hover>.dropdown-menu {
    display: block;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children>a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children:hover>a:after {
    border-left-color: #fff;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children.pull-left {
    float: none;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}


/* Small menu. */

.menu-toggle,
.main-navigation.toggled ul {
    display: block;
}

.dropdown-item {
    line-height: 1.2;
    padding-bottom: 0.313rem;
    padding-top: 0.313rem;
}

.dropdown-menu {
    min-width: 12.500rem;
}

.dropdown .open .dropdown-menu {
    display: block;
    left: 12.250em;
    top: 0;
}

.dropdown-menu .dropdown-item {
    white-space: normal;
    background: transparent;
    line-height: 1.6;
}

.dropdown-menu .dropdown-item:hover {
    background: transparent;
}

@media screen and (min-width: 37.5em) {
    .menu-toggle {
        display: none;
    }
}

@media screen and (min-width: 769px) {
    .dropdown-menu li>.dropdown-menu {
        right: -9.875rem;
        top: 1.375rem;
    }
}

@media screen and (max-width: 991px) {
    .navbar-nav .dropdown-menu {
        border: medium none;
        margin-left: 1.250rem;
        padding: 0;
    }
    .dropdown-menu li a {
        padding: 0;
    }
    #masthead .navbar-nav>li>a {
        padding-bottom: 0.625rem;
        padding-top: 0.313rem;
    }
    .navbar-light .navbar-toggler {
        border: medium none;
        outline: none;
    }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
    margin: 0 0 1.5em;
    overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
    float: left;
    width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    float: right;
    text-align: right;
    width: 50%;
}

.comment-content.card-block {
    padding: 20px;
}

.navigation.post-navigation {
    padding-top: 1.875rem;
}

.post-navigation .nav-previous a,
.post-navigation .nav-next a {
    border: 1px solid #ddd;
    border-radius: 0.938rem;
    display: inline-block;
    padding: 0.313rem 0.875rem;
    text-decoration: none;
}

.post-navigation .nav-next a::after {
    content: " \2192";
}

.post-navigation .nav-previous a::before {
    content: "\2190 ";
}

.post-navigation .nav-previous a:hover,
.post-navigation .nav-next a:hover {
    background: #eee none repeat scroll 0 0;
}


/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/


/* Text meant only for screen readers. */

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
    /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 0.313rem;
    line-height: normal;
    padding: 0.938rem 1.438rem 0.875rem;
    text-decoration: none;
    top: 0.313rem;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}


/* Do not show the outline on the skip link target. */

#content[tabindex="-1"]:focus {
    outline: 0;
}


/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/

.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

a img.alignright {
    float: right;
    margin: 0.313rem 0 1.25rem 1.25rem;
}

a img.alignnone {
    margin: 0.313rem 1.25rem 1.25rem 0;
}

a img.alignleft {
    float: left;
    margin: 0.313rem 1.25rem 1.25rem 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption.alignnone {
    margin: 0.313rem 1.25rem 1.25rem 0;
}

.wp-caption.alignleft {
    margin: 0.313rem 1.25rem 1.25rem 0;
}

.wp-caption.alignright {
    margin: 0.313rem 0 1.25rem 1.25rem;
}


/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
    content: "";
    display: table;
    table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
    clear: both;
}


/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/

.widget {
    margin: 0 0 1.5em;
    font-size: 0.875rem;
    /* Make sure select elements fit in widgets. */
}

.widget select {
    max-width: 100%;
}

.widget_search .search-form input[type="submit"] {
    display: none;
}

.nav>li>a:focus,
.nav>li>a:hover {
    background-color: #eee;
    text-decoration: none;
}

.half-rule {
    width: 6rem;
    margin: 2.5rem 0;
}

.widget_categories .nav-link {
    display: inline-block;
}


/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/


/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/

#content.site-content {
    padding-bottom: 3.75rem;
    padding-top: 4.125rem;
}

.sticky .entry-title::before {
    content: '\f08d';
    font-family: "Font Awesome\ 5 Free";
    font-size: 1.563rem;
    left: -2.5rem;
    position: absolute;
    top: 0.375rem;
    font-weight: 900;
}

.sticky .entry-title {
    position: relative;
}

.single .byline,
.group-blog .byline {
    display: inline;
}

.page-content,
.entry-content,
.entry-summary {
    margin: 1.5em 0 0;
}

.page-links {
    clear: both;
    margin: 0 0 1.5em;
}

.page-template-blank-page .entry-content,
.blank-page-with-container .entry-content {
    margin-top: 0;
}

.post.hentry {
    margin-bottom: 4rem;
}

.posted-on,
.byline,
.comments-link {
    color: #9a9a9a;
}

.entry-title>a {
    color: inherit;
}


/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/

.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

.comment-body .pull-left {
    padding-right: 0.625rem;
}

.comment-list .comment {
    display: block;
}

.comment-list {
    padding-left: 0;
}

.comments-title {
    font-size: 1.125rem;
}

.comment-list .pingback {
    border-top: 1px solid rgba(0, 0, 0, 0.125);
    padding: 0.563rem 0;
}

.comment-list .pingback:first-child {
    border: medium none;
}


/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/


/* Globally hidden elements when Infinite Scroll is supported and in use. */

.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
    /* Theme Footer (when set to scrolling) */
    display: none;
}


/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */

.infinity-end.neverending .site-footer {
    display: block;
}


/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}


/* Make sure embeds and iframes fit their containers. */

embed,
iframe,
object {
    max-width: 100%;
}


/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/

.wp-caption {
    background: #f1f1f1 none repeat scroll 0 0;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 0.313rem 0.313rem 0;
    text-align: center;
}

.wp-caption img[class*="wp-image-"] {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 100%;
    padding: 0;
    width: auto;
}

.wp-caption .wp-caption-text {
    font-size: 0.688rem;
    line-height: 1.063rem;
    margin: 0;
    padding: 0.625rem;
}

.wp-caption-text {
    text-align: center;
}


/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/

.gallery {
    margin-bottom: 1.5em;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    width: 100%;
}

.gallery-item .gallery-columns-2 {
    max-width: 50%;
}

.gallery-item .gallery-columns-3 {
    max-width: 33.33333%;
}

.gallery-item .gallery-columns-4 {
    max-width: 25%;
}

.gallery-item .gallery-columns-5 {
    max-width: 20%;
}

.gallery-item .gallery-columns-6 {
    max-width: 16.66667%;
}

.gallery-item .gallery-columns-7 {
    max-width: 14.28571%;
}

.gallery-item .gallery-columns-8 {
    max-width: 12.5%;
}

.gallery-item .gallery-columns-9 {
    max-width: 11.11111%;
}

.gallery-caption {
    display: block;
}


/*--------------------------------------------------------------
# Plugin Compatibility
--------------------------------------------------------------*/


/*--------------------------------------------------------------
## Woocommerce
--------------------------------------------------------------*/

.woocommerce-cart-form .shop_table .coupon .input-text {
    width: 8.313rem !important;
}

.variations_form .variations .value>select {
    margin-bottom: 0.625rem;
}

.woocommerce-MyAccount-content .col-1,
.woocommerce-MyAccount-content .col-2 {
    max-width: 100%;
}


/*--------------------------------------------------------------
## Elementor
--------------------------------------------------------------*/

.elementor-page article .entry-footer {
    display: none;
}

.elementor-page.page-template-fullwidth #content.site-content {
    padding-bottom: 0;
    padding-top: 0;
}

.elementor-page .entry-content {
    margin-top: 0;
}


/*--------------------------------------------------------------
## Visual Composer
--------------------------------------------------------------*/

.vc_desktop article .entry-footer {
    display: none;
}

.vc_desktop #content.site-content {
    padding-bottom: 0;
    padding-top: 0;
}

.vc_desktop .entry-content {
    margin-top: 0;
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

footer#colophon {
    font-size: 85%;
}

body:not(.theme-preset-active) footer#colophon {
    color: #99979c;
    background-color: #f7f7f7;
}

.navbar-dark .site-info {
    color: #fff;
}

.copyright {
    font-size: 0.875rem;
    margin-bottom: 0;
    text-align: center;
}

.copyright a,
footer#colophon a {
    color: inherit;
}

@media screen and (max-width: 767px) {
    #masthead .navbar-nav>li>a {
        padding-bottom: 0.938rem;
        padding-top: 0.938rem;
    }
}


/*--------------------------------------------------------------
# Media Query
--------------------------------------------------------------*/


/*--------------------------------------------------------------
## Notebook
--------------------------------------------------------------*/

@media only screen and (max-width: 1280px) {
    html {
        font-size: 95%;
    }
}

@media screen and (max-width: 1199px) {
    .navbar-dark .dropdown-item {
        color: #fff;
    }
    .navbar-nav .dropdown-menu {
        background: transparent;
        box-shadow: none;
        border: none;
    }
}


/*--------------------------------------------------------------
## Netbook
--------------------------------------------------------------*/

@media only screen and (max-width: 1024px) {
    html {
        font-size: 90%;
    }
}


/*--------------------------------------------------------------
## iPad
--------------------------------------------------------------*/

@media only screen and (max-width: 960px) {
    html {
        font-size: 85%;
    }
}


/*--------------------------------------------------------------
## iPad
--------------------------------------------------------------*/

@media only screen and (max-width: 768px) {
    html {
        font-size: 80%;
    }
}


/*--------------------------------------------------------------
## iPad
--------------------------------------------------------------*/

@media only screen and (max-width: 480px) {
    html {
        font-size: 75%;
    }
}


.wpcf7 form.sent .wpcf7-response-output {
    margin: 30px 0;
    background: #5ad152;
    border: 0;
    color: #fff;
    padding: 17px;
}

.wpcf7 form.invalid .wpcf7-response-output {
    margin: 40px 0;
    border: 0;
    background: #fb3640;
    color: #fff;
    line-height: 20px;
    padding: 19px;
}

.company-info a {
    color: #fb3640;
}


.head-description__boxes a.button-red:hover {
    color: #fff;
    background: black;
}

#cookie-notice .cn-button:not(.cn-button-custom) {
    border-radius: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
}

div#cookie-notice {
    font-family: 'Montserrat', sans-serif;
}


.popup-newsletter {
    opacity: 0;
    transition: all 0.4s;
}

.popup-newsletter.open {
    opacity: 1;
/*     transition: all 0.4s; */
}


figure.wp-block-table {
    border: 1px solid silver !important;
    font-size: 15px !important;
}

figure.wp-block-table thead th {padding: 10px;}

figure.wp-block-table tbody tr td {
    padding: 25px 10px;
}

.wp-block-table table {
    margin: 0;
}

figure.wp-block-table tbody tr td a {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
}


section.cta-partner {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
}

section.cta-partner .logo-partner {
    margin-bottom: 10px;
}

section.cta-partner .content-partner-text {
    padding: 40px 40px;
}

.content-partner-text.bg:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #0000008a;
}

.content-partner-text.bg {
    position: relative;
}

section.cta-partner .content-partner-text > * {
    position: relative;
    z-index: 1;
}

section.cta-partner .content-partner-text .text p {
    margin: 0;
}

section.logo-left-text-content-right .single-logo img,
section.client-logo .single-logo img {
    mix-blend-mode: luminosity;
}

@media(min-width: 1024px){
	section.logo-left-text-content-right .single-logo img {
    height: 40px!important;
    width: auto!important;
    opacity: 0.33;
    text-align: center !important;
    margin: 0 auto;
}
}

/* Hero recognized-by logos layout */
.hero-big .logotypeHeader {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-end;
    justify-content: flex-start;
}

/* Ensure hero logos are desaturated by default and uniform height */
.hero-big .logotypeHeader img {
    mix-blend-mode: luminosity;
    filter: grayscale(100%);
    opacity: 0.33;
    height: 32px;
    width: auto;
    object-fit: contain;
    display: block;
}

/* Per-logo sizing in hero */
section.hero-big .logotypeHeader img:nth-child(1) {
    height: 30px;
}
section.hero-big .logotypeHeader img:nth-child(2) {
    height: 24px;
}
section.hero-big .logotypeHeader img:nth-child(3) {
    height: 45px;
}

/* If logos are wrapped, make wrappers bottom-align content */
.hero-big .logotypeHeader > * {
    display: flex;
    align-items: first baseline;
}

.hero-big .hero-big__text-above {
    display: flex;
    flex-direction: column;
    margin-top: 40px;
    gap: 0;
}

.hero-big .buttons-hero {
    margin-top: 10px; /* odstęp między logami a buttonem */
}

section.hero-w-stats {
    position: relative;
}


section.hero-big.hero-w-stats::before {
    content: none;
}

section.hero-w-stats::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(126deg,rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 95%);
    pointer-events: none;
}

.hero-w-stats .col-content .vstorm-h1,
.hero-w-stats .col-content .vstorm-h2,
.hero-w-stats .col-content .vstorm-h3,
.hero-w-stats .col-content .vstorm-h4,
.hero-w-stats .col-content .vstorm-h5,
.hero-w-stats .col-content .vstorm-h6 {
    color: #010D1C;
}

.hero-w-stats .col-content p {
    color: #010D1C;
    max-width: 570px;
    margin-bottom: 28px;
}

.hero-w-stats .col-content p + p {
    margin-top: 0;
    margin-bottom: 8px;
}

.hero-w-stats .buttons-hero {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 32px;
}

.hero-w-stats .buttons-hero .button-red {
    margin-right: 0;
}

.hero-w-stats .button-link {
    position: relative;
    padding-left: 16px;
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #FB3640;
    text-decoration: none;
}

.hero-w-stats .button-link::before {
    content: "/";
    position: absolute;
    left: 0;
    top: 0;
    color: #FB3640;
}

.hero-w-stats .button-link:hover {
    color: #FB3640;
}

.hero-w-stats__stats {
    margin-top: 32px;
    display: flex;
    flex-wrap: wrap;
    gap: 56px;
}

.hero-w-stats__stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-left: 24px;
    border-left: 2px solid #FB3640;
}

.hero-w-stats__stat-value {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1;
    color: #010D1C;
}

.hero-w-stats__stat-label {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1;
    color: #000000BF;
}


@media (max-width: 768px) {
    .hero-w-stats__stats {
        flex-direction: row;
        gap: 12px;
    }
}

.hero-w-stats .col-content h1 span,
.hero-w-stats .col-content h2 span,
.hero-w-stats .col-content h3 span,
.hero-w-stats .col-content h4 span,
.hero-w-stats .col-content h5 span,
.hero-w-stats .col-content h6 span {
    font-weight: 500;
    font-size: 28px;
    display: block;
}

.hero-w-stats .col-content {
    max-width: 705px;
}

@media (max-width: 768px) {
    .hero-w-stats .col-content .vstorm-h1,
    .hero-w-stats .col-content .vstorm-h2,
    .hero-w-stats .col-content .vstorm-h3,
    .hero-w-stats .col-content .vstorm-h4,
    .hero-w-stats .col-content .vstorm-h5,
    .hero-w-stats .col-content .vstorm-h6 {
        font-size: 30px;
        line-height: 37px;
    }

    .hero-w-stats .col-content .vstorm-h1 span,
    .hero-w-stats .col-content .vstorm-h2 span,
    .hero-w-stats .col-content .vstorm-h3 span,
    .hero-w-stats .col-content .vstorm-h4 span,
    .hero-w-stats .col-content .vstorm-h5 span,
    .hero-w-stats .col-content .vstorm-h6 span {
        margin-top: 16px;
    }

    .hero-w-stats .col-content p {
        font-size: 14px;
        line-height: 21px;
    }
}

.clutch-widget iframe {
    margin: 0 auto !important;
    display: block !important;
    width: auto;
    max-width: 100%;
}


.page-id-48 section.client-logo .single-logo img {
    width: auto;
    height: 30px;
}



.clutchContent a {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.clutchContent a img {
    width: 100px;
    height: auto;
}

.clutchContent a span {
    background: #000;
    color: #fff;
    display: inline-block;
    padding: 9px 19px;
}

.clutchContent {
    padding: 20px;
    border: 1px solid #f1f1f1;
    margin: 40px 0;
}

@media(max-width: 640px) {
    .clutchContent a {
    display: flex;
    align-items: center;
        flex-direction: column;
        gap: 20px;
    justify-content: space-between;
}
}

@media (min-width: 992px) {
    section.hero-big.hero-w-stats .col-content {
        max-width: 706px;
    }
}

span.text-logotype-above {
    display: block;
    margin-top: 0;
    margin-bottom: 15px;
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #000000;
}

.author-content .social a {
    color: #000;
    font-size: 16px;
    transition: all .4s;
}

.author-content .social {
    display: flex;
    gap: 9px;
    margin-top: 1px;
}

.author-content .social a:hover {
    color: #fb3741;
}

@media(min-width: 1199px) {
    
    .hero-banners.moreBoxes .hero-banners__single img {
        height: calc(33vh - 80px) !important;
    }
    }




section.accordion-tabs .tab-content {
    gap: 30px;
}

section.accordion-tabs .tabs-content {
    gap: 30px;
}

section.accordion-tabs .tabs-content span {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    cursor: pointer;
    transition: all .4s;
}

section.accordion-tabs .tabs-content span.active {
    color: #fa3741;
}

section.accordion-tabs .tabs-content span:not(.active):hover {
    opacity: 0.4;
}

.tabs-content__desc .single {display: grid;grid-template-columns: 1fr;padding: 10px 30px 30px;border-radius: 10px;}

.tabs-content__desc .single .image img {
    max-width: 500px;
    margin: 0 auto;
    display: block;
    width: 100%;
}

.tabs-content__desc {
    margin-top: 30px;
    background: #F1F1F8;
    border-radius: 10px;
    min-height: auto !important;
}

@media(min-width: 768px) {
    .tabs-content__desc .single {display: grid;grid-template-columns: 1fr 1fr;padding: 40px 50px 40px;border-radius: 10px;gap: 20px;}

.tabs-content__desc .single .image img {
    max-width: 100%;
    border-radius: 10px;
}
}


@media(max-width: 991px) {
    section.accordion-tabs .tabs-content {
        gap: 15px;
    }
}

.page-id-9880 .hero-big .col-content h1, .page-id-9880 .hero-big .col-content p {
    color: #000 !important;
}

.page-id-9880 .link-box.big .full {
    min-height: 350px;
}

.page-id-9880 section.hero-big .logotypeHeader img {
    filter: brightness(1);
}

@media(min-width: 992px) {
    .menu-item-has-children:hover .dropdown-menu {
    display: block;
    top: 32px;
}


}

@media(max-width: 991px){
    .navbar-nav .dropdown-menu {
    text-align: center;
    padding: 0 !important;
}
}

section.two-columns-text h2 {
    margin-top: 0;
}

section.two-columns-text h1 {
    margin-top: 0;
}

section.two-columns-text h3 {
    margin-top: 0;
}

section.two-columns-text h4 {
    margin-top: 0;
}

section.two-columns-text h5 {
    margin-top: 0;
}


section.opinion .row .single {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


section.opinion .row .single .bottom .name span a {
    color: #fb3741;
    text-decoration: underline;
}

section.ebook-section a.button {
    background: #fb3741;
    display: inline-block;
    color: #fff;
    padding: 8px 20px;
    transition: all .5s;
}

section.ebook-section a.button:hover {
    background: #000;
}

.single-ebook .single-ebook-content__nav .site-branding {
    position: relative !important;
    margin-top: 0px !important;
    margin-bottom: 30px !important;
    bottom: 0 !important;
}


.single-ebook .single-ebook-content__text-heading .single-ebook-content__text-content .single-content {
    text-align: justify;
}


section.services .single {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 30px;
}

section.services .single img {
    width: 43px;
    height: auto;
}

section.services .single .desc {
    width: calc(100% - 70px);
}

section.services .single .desc h3 {
    margin-top: 0;
    font-size: 20px;
}

@media(min-width: 992px){

.head-content h2 {
    font-size: 28px;
}
}


/* new page post  */

.table-of-content > span {
    font-size: 20px;
    font-weight: 700;
    display: block;
    margin-bottom: 20px;
}

.table-of-content {
    margin-bottom: 40px;
}

.new-post-page .head-content ul, 
.new-post-page .head-content ol,
.new-post-page .head-content p {
    line-height: 1.7;
}

.single-post .new-post-page .head-content a, .single-glossary .new-post-page .head-content a {
    color: #000 !important;
    font-weight: 600;
}

 .single-glossary .new-post-page .head-content a {
    text-decoration: underline;
    transition: all .5s;
}

 .single-glossary .new-post-page .head-content a:hover {
    color: #fb3742!important;
}

.new-post-page .head-content img {
    width: 100%;
    max-width: 100%;
    border-radius: 12px;
}

.wp-block-group.cta-post {
    padding: 40px 25px;
    background: #f7f7f7;
    text-align: center;
    margin: 10px 0 40px;
}

.wp-block-group.cta-post h4 {
    margin-top: 0;
    font-size: 28px;
    line-height: 1.6;
}


.wp-block-group.cta-post a.wp-element-button {
    background: #fb3741;
    text-decoration: none !important;
    color: #fff !important;
    font-weight: 300;
    display: inline-block !important;
    padding: 10px 30px;
    cursor: pointer;
}

/* Style dla nagłówków na stronie .new-post-page */
.new-post-page .head-content h1 {
    font-weight: bold;
    font-size: 34px; /* 2.125rem */
}

.new-post-page .head-content h2 {
    font-weight: bold;
    font-size: 30px; /* 1.875rem */
}

.new-post-page .head-content h3 {
    font-weight: bold;
    font-size: 24px; /* 1.5rem */
}

.new-post-page .head-content h4 {
    font-weight: bold;
    font-size: 20px; /* 1.25rem */
}

/* Responsywność - rozmiary mobilne */
@media (max-width: 767px) {
    .new-post-page .head-content h1 {
        font-size: 24px; /* 1.5rem */
    }

    .new-post-page .head-content h2 {
        font-size: 18px; /* 1.125rem */
    }

    .new-post-page .head-content h3 {
        font-size: 18px; /* 1.125rem */
    }

    /* H4 pozostaje bez zmian, nie ma zdefiniowanego rozmiaru na mobile */
}


.new-post-page .head-content h2,
.new-post-page .head-content h3,
.new-post-page .head-content h4,
.new-post-page .head-content h5,
.new-post-page .head-content h6 {
    line-height: 1.6;
}


.new-post-page .head-content-top {
    margin-bottom: 30px;
}

.new-post-page .head-content-top .cat-content {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
}

.new-post-page .head-content-top .cat-content a {
    text-decoration: none !important;
}

.new-post-page .head-content-top {
    color: #000 !important;
}

.new-post-page .author-info .author-content {
    display: flex;
    text-align: left;
    gap: 17px;
}

.new-post-page .author-info .author-content .image img {
    width: 69px;
    height: 69px;
    object-fit: cover;
}

.new-post-page .author-info {
    display: flex;
    gap: 20px;
    justify-content: flex-start;
    margin-top: 40px;
    flex-wrap: wrap;
}


.new-post-page .author-info .author-content:nth-child(2):before, .new-post-page .author-info .author-content:nth-child(3):before {
    content: '';
    width: 1px;
    height: 100%;
    background: rgb(223, 223, 223);
}

.single-post .new-post-page .head-content ol li:before {
    background: var(--bullet) !important;
}

.single-post .new-post-page .head-content ul li:before,
.single-post .new-post-page .head-content ul li:before,
.single-post .new-post-page .head-content .table-of-content ul li:before {
    background: var(--bullet) !important;
    top: 8px !important;
}

.table-of-content ul li a {
    text-decoration: none !important;
}

.single-post .new-post-page ul li a {
    text-decoration: none !important;
}

.table-of-content {
    background: #f7f7f7;
    padding: 20px 30px;
}

.table-of-content > span {
    color: #000;
    font-size: 26px !important;
    display: block !important;
    margin: 10px 0 30px !important;
}

.single-post .new-post-page .head-content ol li::marker {
    color: var(--bullet) !important;
    font-weight: 600;
}

.single-post .new-post-page .head-content ol {
    padding-left: 16px;
}

.table-of-content ul li a {
    transition: all .5s;
}

.table-of-content ul li a:hover {
    color: var(--bullet) !important;
}

.single-post .new-post-page .head-content {
    font-size: 19px;
    text-align: justify;
}

.single-post .new-post-page .head-content a {
    transition: all .5s;
}

.single-post .new-post-page .head-content a:hover {
    color: var(--bullet) !important;
}

body.scroll-down .new-post-page .head-description .fixed {
    top: -100px;
}

body.scroll-up .new-post-page .head-description .fixed {
    top: 70px;
}

.new-post-page .head-description .fixed {
    transition: all .5s;
}

.new-post-page .notes-book > a {
    max-width: 110px;
    margin: 20px auto 10px;
}

section.ctafw.not-full {
    max-width: 1380px;
    margin: 0 auto;
}

.new-post-page .head-content-top .cat-content a {
    background: #f7f7f7;
    font-weight: 500;
    padding: 7px 20px;
    font-size: 16px;
}

.new-post-page .head-content-top .cat-content {
    margin-top: 13px;
}

.new-post-page .head-content-top .cat-content a:hover {
    background: #fb3741;
    color: #fff !important;
}

.new-post-page .notes-book > a {
    font-weight: 600;
}

.new-post-page .head-content h2,
.new-post-page .head-content h3,
.new-post-page .head-content h4,
.new-post-page .head-content h5,
.new-post-page .head-content h6 {
    text-align: left;;
}

.single-post .new-post-page .head-content ol li, .single-post .new-post-page .head-content ul li {
    margin-bottom: 11px;
    text-align: justify;
}


.single-glossary .list-toc li {
    margin-bottom: 11px;
    text-align: justify;
}

.single-glossary .head-content-top {
    font-size: 19px;
}

.single-glossary .list-toc li::marker {
    font-size: 19px;
    color: var(--bullet) !important;
}

.single-glossary .list-toc li a {
  font-size: 19px;
}

.single-glossary .list-toc li a:hover {
    color: var(--bullet) !important;
}

.wp-block-group.cta-post * {
    text-align: center !important;
}

body.single-post .container , body.single-glossary .container {
    max-width: 1360px;
    margin: 0 auto;
}

@media(min-width: 1199px){
    body.single-post section.blog .single-art a .thumbnails img {
        height: 206px;
    }
}

body.single-post .notes-book .top {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

body.single-post .notes-book .top .text {
    padding-top: 10px;
}


body.single-post .new-post-page .head-description .fixed {
    top: 100px !important;
}

.wp-block-group.cta-post a.wp-element-button:hover {
    background: #000;;
    color: #fff !important;
}

.why-choose-us .col-lg-4 {
    background: #f6f6f6;
    border-radius: 10px;
    padding: 0px 25px;
    max-width: 100%;
}

section.why-choose-us .row:nth-child(2) {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

section.why-choose-us .row:nth-child(2) {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

@media (max-width: 767px) {
    section.why-choose-us .row:nth-child(2) {
        grid-template-columns: 1fr;
    }
}

section.why-choose-us .single .desc > img {
    margin-top: 30px;
    height: 18px;
    width: auto;
}
.tech-module .single-logotypes {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.tech-module .single-logotypes img {
    width: 140px;
    height: 90px;
    object-fit: scale-down;
    border: 1px solid #eeeeee;
    padding: 19px;
}

.tech-module .tabs h3 {
    font-size: 18px;
    padding-bottom: 7px;
    border-bottom: 1px solid transparent;
	transition: all .5s;
}

.tech-module .tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 30px;
}

.single-title.active h3 {
    color: #fb3741;
    border-bottom: 1px solid #fb3741;
}

.page-id-9880 .hero-big .col-content h2 span {
    font-weight: 500;
    font-size: 28px;
    display: block;
}

.page-id-9880 .hero-big .col-content h2 {
  font-size: 30px;
  line-height: 37px;

  @media (min-width: 768px) {
    font-size: 40px;
    line-height: 47px;
  }

@media (min-width: 992px) {
    font-size: 50px;
    line-height: 61px;
  }
}

.simple-heading__heading--secondary {
    color: #fa3741;
    font-weight: 500;
    font-size: 18px;
    line-height: 20px;

  @media (min-width: 768px) {
    font-size: 20px;
    line-height: 24px;
  }

  @media (min-width: 992px) {
    font-size: 24px;
    line-height: 30px;
  }
}

.glossary__navigation {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.glossary__navigation a {
    color: #000;
    font-size: 28px;
    text-decoration: none;
}

.glossary__navigation a:hover {
    color: #fa3741;
    text-decoration: underline;
}

.glossary__letter-group {
    display: flex;
    gap: 32px;
    align-items: center;
}

.glossary__letter {
    color: #fa3741;
    font-size: 128px;
    line-height: 1;
    margin-bottom: 0;
    padding-bottom: 0;
    padding-top: 0;
    margin-top: 0;
    width: 160px;
}

.glossary__items {
    margin-top: 64px;
    display: flex;
    gap: 64px;
    flex-direction: column;
}

.glossary__terms {
    display: grid;
    grid-gap: 24px;
    row-gap: 48px;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, max(250px, 100% / 4)), 1fr));
    margin-top: 24px;
    width: 100%;
}

.glossary__term a{
    font-size: 19px;
    color: black;
}

.glossary__term a:hover {
    color: #fa3741;
    text-decoration: underline;
}

[id^="letter-"] {
    scroll-margin-top: 128px;
}


@media (max-width: 991px) {
    .tri-storm-methodology__step {
        margin-left: auto;
        margin-right: 0;
    }

    .tri-storm-methodology__stats {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 8px;
    }

    .tri-storm-methodology__stat {
        width: 100%;
    }

    .tri-storm-methodology__steps-list {
        margin-top: 48px;
    }

    .tri-storm-methodology__steps-list + .tri-storm-methodology__clients {
        margin-top: 40px;
    }
}

@media (max-width: 768px) {
    /* Ensure each logo item can anchor its popup */
    .logo-carousel-hover__item {
        position: relative;
    }
    .glossary__letter-group {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .glossary__navigation a {
        color: #000;
        font-size: 24px;
        text-decoration: none;
    }

    .glossary__letter {
        font-size: 96px;
        line-height: 1;
    }

    .glossary__terms {
        row-gap: 24px;
    }
}

.glossary__link {
    color: #fa3741;
}

.glossary__link:hover {
    text-decoration: underline;
    color: #fa3741;
}

.glossary-sidebar {
    position: sticky;
    top: 100px;
    width: 100%;
}

.glossary-related {
    padding: 12px 40px;
    border: 2px solid #F9F9FC;
    border-radius: 0;
}

.glossary-related__list {
    list-style-type: none;
    padding-left: 0;
}

.glossary-related__list-item a {
    color: #3d3b3b;
}

.glossary-related__list-item a:hover {
    color: #fa3741;
    text-decoration: underline;
}

section.blog:has(+ section) {
  margin-bottom: 40px;
}

.glossary__date, .head__date {
    margin-bottom: 20px;
}

.accordion_blocks__heading {
    font-size: 24px;
}

@media (max-width: 1024px) {
    .accordion_blocks__heading {
        font-size: 20px;
    }
}

@media (max-width: 768px) {
    .accordion_blocks__heading {
        font-size: 18px;
    }
}

section.accordion_blocks .single > img {
    width: 100%;
    height: 360px;
    object-fit: cover;
}

section.accordion_blocks .single > span {
    padding: 7px 12px;
    cursor: pointer;
}

.faq__heading {
    font-size: 24px;
    line-height: 29.75px;
    font-family: "Montserrat", sans-serif;
    color: #010D1C;
    font-weight: 700;
    margin-bottom: 40px;;
}

@media (min-width: 768px) {
    .faq__heading {
        font-size: 32px;
        line-height: 37.75px;
    }
}

@media (min-width: 992px) {
    .faq__heading {
        font-size: 40px;
        line-height: 48.75px;

    }
}

/* 
 * SEO-friendly heading classes
 * These classes preserve original heading styles regardless of HTML tag choice
 */
.vstorm-h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 37px;
}

@media (min-width: 768px) {
    .vstorm-h1 {
        font-size: 40px;
        line-height: 47px;
    }
}

@media (min-width: 992px) {
    .vstorm-h1 {
        font-size: 50px;
        line-height: 61px;
    }
}

.vstorm-h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 29.75px;
}

@media (min-width: 768px) {
    .vstorm-h2 {
        font-size: 32px;
        line-height: 37.75px;
    }
}

@media (min-width: 992px) {
    .vstorm-h2 {
        font-size: 40px;
        line-height: 48.75px;
    }
}

.vstorm-h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 27px;
}

@media (min-width: 768px) {
    .vstorm-h3 {
        font-size: 24px;
        line-height: 29px;
    }
}

.vstorm-h4 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.5rem; /* 24px */
    line-height: 1.2;
}

.vstorm-h5 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.25rem; /* 20px */
    line-height: 1.2;
}

.vstorm-h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1rem; /* 16px */
    line-height: 1.2;
}

/* Heading Color Classes for Hero Big */
section.hero-big .col-content .vstorm-h1.heading-light,
section.hero-big .col-content .vstorm-h2.heading-light,
section.hero-big .col-content .vstorm-h3.heading-light,
section.hero-big .col-content .vstorm-h4.heading-light,
section.hero-big .col-content .vstorm-h5.heading-light,
section.hero-big .col-content .vstorm-h6.heading-light {
    color: #ffffff;
}

section.hero-big .col-content .vstorm-h1.heading-dark,
section.hero-big .col-content .vstorm-h2.heading-dark,
section.hero-big .col-content .vstorm-h3.heading-dark,
section.hero-big .col-content .vstorm-h4.heading-dark,
section.hero-big .col-content .vstorm-h5.heading-dark,
section.hero-big .col-content .vstorm-h6.heading-dark {
    color: #010D1C;
}
/*--------------------------------------------------------------
# Custom Blog Excerpt Height
--------------------------------------------------------------*/
section.blog .single-art .excerpt,
body.single-person .post-by-autor .single-art .excerpt {
    font-size: 16px;
    line-height: 22px;
    min-height: 44px; /* 2 lines * 22px */
    margin-bottom: 10px;
    color: #000;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/*--------------------------------------------------------------
# Blog Meta (Avatar & Date)
--------------------------------------------------------------*/
section.blog .single-art .meta,
body.single-person .post-by-autor .single-art .meta {
    display: flex;
    align-items: center;
    font-size: 12px;
    line-height: 15px;
    color: #888;
}
section.blog .single-art .meta img,
body.single-person .post-by-autor .single-art .meta img {
    border-radius: 50%;
    width: 24px;
    height: 24px;
    object-fit: cover;
    margin-right: 6px;
}
section.blog .single-art .meta .date,
body.single-person .post-by-autor .single-art .meta .date {
    margin-left: 0;
}


/*--------------------------------------------------------------
# Last Updated info
--------------------------------------------------------------*/
.single-post__last-updated {
    margin: 32px 0 0 0;
    font-size: 13px;
    color: #888;
    text-align: left;
}


/* CTA with person - vertical layout */

.cta-with-person--columns,
.cta-with-person--columns * {
  box-sizing: border-box;
}

.cta-with-person__col {
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}

.cta-with-person__col--content {
  padding: 16px !important;
}

.cta-with-person__col--image {
  padding: 8px !important;
  height: 100%;
  align-items: stretch;
  justify-content: flex-end;
  display: flex;
}

.cta-with-person__image {
  width: 100%;
  display: flex;
  align-items: stretch;
  margin: 0;
}

.cta-with-person__image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: 1rem;
}

@media (max-width: 900px) {
  .cta-with-person--columns,
  .cta-with-person__columns,
  .cta-with-person__col,
  .cta-with-person__col--image,
  .cta-with-person__image,
  .cta-with-person__image img {
    max-width: 100% !important;
  }
  .cta-with-person--columns {
    overflow-x: hidden;
  }
  .cta-with-person__columns {
    flex-direction: column;
  }
  .cta-with-person__col--image,
  .cta-with-person__image {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .cta-with-person__image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 0.5rem;
    display: block;
  }
  .cta-with-person__col--content {
    padding: 20px 10px 10px 10px !important;
  }
  .cta-with-person__image {
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }
  .cta-with-person__image img {
    max-width: 100% !important;
    height: auto !important;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}

.cta-with-person__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.cta-with-person__heading {
    font-size: 1.3rem;
    margin-bottom: 8px;
}
.cta-with-person__desc {
    font-size: 1rem;
    margin-bottom: 8px;
}
.cta-with-person__desc p{
    padding: 0;
    margin: 0;
  }
.cta-with-person__list {
    margin-bottom: 8px;
    padding-left: 20px;
}
.cta-with-person__after-list {
    margin-bottom: 8px;
    font-size: 1rem;
}
.cta-with-person__name {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 4px;
}
.cta-with-person__place {
    font-size: 1rem;
    color: #666;
    margin-bottom: 20px;
}
.cta-with-person__cta {
    margin-bottom: 12px;
    margin-top: 16px !important;
}
.cta-with-person__button {
    font-size: 0.95rem;
    padding: 6px 18px;
    text-decoration: none;
    transition: all 0.3s;
    border-radius: 0;
    font-family: "Montserrat", sans-serif;
    background-color: #FB3640;
    display: inline-block;
    min-width: 180px;
    padding: 4px 10px;
    text-align: center;
    color: #fff;
    font-size: 12px;
    transition: all 0.4s;
}
.cta-with-person__button:hover {
    background-color: #fff;
    color: #010D1C;
}
.cta-with-person__image {
    margin: 0;
    height: 100%;
  
}
.cta-with-person__image img {
    width: 100%;
    height: auto;
}
@media (max-width: 600px) {
  .cta-with-person--vertical {
    padding: 20px 8px;
  }
  .cta-with-person__image {
    width: 120px;
    margin-top: 12px;
  }
}
/* END CTA with person vertical layout */

.cta-with-person--columns {
    border-radius: 6px;
    border: 2px solid #f3f3f3;
}

.cta-with-person__columns {
    display: flex !important;
    align-items: stretch !important;
    min-height: fit-content;
}

.cta-with-person__columns.align-items-center {
    align-items: stretch !important;
}

.cta-with-person__col--content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    flex: 1;
}

.cta-with-person__col--image {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    height: 100% !important;
}

.cta-with-person__image {
    flex: 1;
    width: 50%;
    max-width: 50%;
    height: 100%;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}

.cta-with-person__image img {
    height: 100% !important;
    width: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    display: block;
    border-radius: 1rem;
}

.cta-with-person__image img.img-fluid {
    max-width: none !important;
    height: 100% !important;
}

.head-content-top p:first-of-type {
    margin-top: 30px;
}

.head-content-top h2, .head-content-top h3, .head-content-top h4, .head-content-top h5, .head-content-top h6 {
    margin-bottom: 0;
    padding-bottom: 0;
}

.glossary-related__list-item a {
    transition: all .5s;
}

/* === CTA GLOBAL === */
section.cta-block {
    padding-top:0;
}

.cta-global__post {
    padding: 40px 25px;
    background: #f7f7f7;
    text-align: center;
}
.cta-global__button {
    text-align: center;
    margin-top: 24px;
}
.cta-global__button .btn-primary {
    background: #fb3741;
    text-decoration: none !important;
    color: #fff !important;
    font-weight: 300;
    display: inline-block !important;
    padding: 10px 30px;
    cursor: pointer;
    border: none;
}
.cta-global__button .btn-primary:hover {
    background: #000;
    color: #fff !important;
    border: none;
}

.cta-global .cta-global__button .btn-primary,
.cta-global .cta-global__button .btn-primary:visited {
    color: #fff !important;
    font-size: 19px;
    font-weight: 300;
}

.cta-global__btn {
    background: #fb3741;
    color: #fff !important;
    font-size: 19px;
    font-weight: 300;
    display: inline-block;
    padding: 10px 30px;
    cursor: pointer;
    border: none;
    text-decoration: none !important;
    transition: background 0.2s, color 0.2s;
}
.cta-global__btn:hover,
.cta-global__btn:focus {
    background: #000;
    color: #fff !important;
    border: none;
    text-decoration: none !important;
}
.cta-global__heading {
    text-align: center;
}

.single-glossary .cta-global__btn,
.single-post .cta-global__btn,
.cta-global .cta-global__btn,
.cta-global__button .cta-global__btn {
    color: #fff !important;
    font-weight: 300 !important;
}

.single-glossary__last-updated {
    margin: 32px 0 0 0;
    font-size: 13px;
    color: #888;
    text-align: left;
}

.thumbnail-placeholder {
    width: 100%;
    aspect-ratio: 16/9;
    background: #e0e0e0;
    display: block;
    border-radius: 6px;
    min-height: 120px;
}

/* Stylowanie referencji po nagłówku References */
#h-references + p,
#h-references + p a {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #888 !important;
    text-decoration: none;
    font-style: italic;
}
#h-references + p u {
    text-decoration: underline;
}
#h-references + p a {
    color: #888 !important;
    font-style: italic;
}

#h-references ~ p,
#h-references ~ p a {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #888 !important;
    text-decoration: none;
    font-style: italic;
}
#h-references ~ p u {
    text-decoration: underline;
}
#h-references ~ p a {
    color: #888 !important;
    font-style: italic;
}

/* Usuwam odstępy między paragrafami w referencjach */
#h-references + p,
#h-references ~ p {
    margin-top: 0;
    margin-bottom: 0;
}
#h-references + p:not(:last-child),
#h-references ~ p:not(:last-child) {
    margin-bottom: 0;
}

.case-study {
    padding-top: 0;
}

.case-study__hero{
    position: relative;
    overflow: hidden;
    padding: 4rem 0;
    overflow: visible;
}

.case-study__hero:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #010D1C;
    mix-blend-mode: multiply;
    opacity: 0.5;
}

.case-study__hero-heading--secondary {
    color: #fff;
}

.case-study__hero-description {
    color: #fff;
}

.case-studies-boxes__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem 2rem;
}

@media (max-width: 992px) {
    .case-studies-boxes__grid {
        grid-template-columns: 1fr;
        gap: 2rem 0;
    }
}

.case-studies-boxes__item--video {
  grid-column: span 2;
}

@media (max-width: 992px) {
    .case-studies-boxes__item--video {
        grid-column: span 1;
    }
}

.case-studies-boxes__thumb {
    height: 340px;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    width: 100%;
    background: #e0e0e0;
}


.case-studies-boxes__thumb img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    position: absolute;
    z-index: 2;
}

.case-studies-boxes__excerpt {
    color: #000000bf;
}

.case-studies__form {
    display: flex;
    gap: 2rem;
    color: #fff;
}

@media (max-width: 768px) {
    .case-studies__form {
        flex-direction: column;
        gap: 1rem;
    }
}

.case-studies__play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 48px;
    background: #fff;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transition: background 0.3s, transform 0.3s;
    pointer-events: none; 
}

.case-studies-boxes__item--video:hover .case-studies__play-btn {
    transform: translate(-50%, -50%) scale(1.1);
}

.case-studies__play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 5;
}

.case-studies-video-popup__close {
    position: absolute;
    top: 2rem;
    right: 1rem;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10000;
}

.case-studies__thumbnail-video {
    display: none;
    position: absolute;
    width: 100%;
    height: auto;
    border-radius: 6px;
    display: block;
    z-index: 1;
    height: 100%;
    object-fit: cover;
}

.case-studies__thumbnail-video--active {
    display: block;
    z-index: 4;
}

.case-studies-boxes__thumb--video {
    cursor: pointer;
}

.case-studies-video-popup {
    display: none;
    position: fixed;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    padding: 20px;
}

.case-studies-video-popup--active {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: rgba(0, 0, 0, 0.8);
}

.case-studies__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.case-studies__filter {
    position: relative;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #FB3640;
    color: #FFFFFF;
}

.case-studies__select{
    position: relative; 
    display: flex; 
    align-items: center; 
    gap: 8px;
    height: 44px; 
    padding: 0 40px 0 14px;
    border: 1px solid #e5e7eb; border-radius:6px; 
    background:#fff;
    color: #000;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
    cursor: pointer; 
    outline: none; 
    transition: .15s;
    width: 300px;
}

.case-studies__select:focus,
.case-studies__select[aria-expanded="true"]{
    border-color:#93c5fd; box-shadow:0 0 0 4px rgba(59,130,246,.15);
}

.case-studies__value{ 
    flex:1; 
    overflow:hidden; 
    text-overflow:ellipsis; 
    white-space:nowrap; 
}
.case-studies__caret{ 
    position:absolute; 
    right:12px; 
    pointer-events:none; 
}
.case-studies__clear{ 
    border:0; 
    background:none; 
    font-size:18px; 
    color:#9ca3af; 
    cursor:pointer; 
}
.case-studies__clear:hover{ 
    color:#6b7280; 
}

.case-studies__dropdown{
    display: none; 
    margin-top: 8px; 
    background: #fff;
    border: 1px solid #e5e7eb; 
    border-radius: 4px; 
    overflow: hidden;
    box-shadow:0 10px 20px rgba(0,0,0,.06);
}
.case-studies__dropdown.is-open { 
    display: block; 
    position: absolute;
    width: 100%;
    z-index: 999;
}

.case-studies__option { 
    padding:10px 12px; 
    cursor:pointer; 
}
.case-studies__option:hover,
.case-studies__option.is-active { 
    background:#fb3741; 
    color: #fff; 
}
.case-studies__option.is-selected { 
    background:#fb3741; 
    color:#fff; 
    font-weight:600; 
}

.case-studies__submit{ 
    margin-top:12px; 
    padding:10px 14px; 
    border:1px solid #e5e7eb; 
    border-radius:10px; 
    background:#fff; 
}
.case-studies__submit:hover{ 
    background:#f9fafb; 
}

.red {
    color: #fb3741 !important;
}

.case-studies__option {
    color: #000;
}

.case-studies-boxes__inner {
    
}

.case-studies__link {
    width: 100%;
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.case-studies-boxes__link:hover .case-studies-boxes__thumb img{
    transform: scale(1.1);
}

.case-studies-boxes__thumb img {
    transition: transform 0.5s;
}
.glossary__entry-container {
    display: flex;
    justify-content: space-between;
}

@media (max-width: 991px) {
    .glossary__entry-container {
        flex-direction: column;
        gap: 16px;
    }
}

.glossary__search-input {
    height: 34px;
    padding: 0 12px;
    border: 1px solid #ccc;
}

.glossary__search-input:focus {
    outline: none;
}

.glossary__search-btn {
    height: 34px;
    padding: 0 12px;
    background-color: #fa3741;
    color: #fff;
    border: none;
    cursor: pointer;
}

.grid-3-fact-with-numbers__number {
    color: #FB3640;
    margin: 0;
}

.grid-3-fact-with-number__heading {
    margin-top: 20px;
    margin-bottom: 10px;
}

.grid-3-fact-with-numbers__single {
    border: 1px solid #FB3640;
    padding: 20px;
}

.grid-3-fact-with-numbers__blocks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media (max-width: 768px) {
    .grid-3-fact-with-numbers__blocks {
        flex-direction: column;
    }

    .grid-3-fact-with-number__heading {
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .grid-3-fact-with-numbers__blocks {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }
}

.grid-3-fact-with-numbers__text p {
    margin-bottom: 10px;
}

/* ========================================
   Case Study Slider Styles
   ======================================== */

.case-study-slider {
    padding: 4rem 0;
}

.case-study-slider__wrapper {
    position: relative;
    border-radius: 16px;
}

/* Static Navigation in container - positioned like left column */
.case-study-slider__navigation-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 33%;
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    border-radius: 16px;
    z-index: 10;
    pointer-events: none;
    padding: 26px;
    background-color: #f8f8fb;
}

.case-study-slider__navigation-container .case-study-slide__counter {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
    pointer-events: auto;
}

.case-study-slider__navigation-container .case-study-slider__nav-group {
    display: flex;
    gap: 8px;
    pointer-events: auto;
}

.case-study-swiper {
    overflow: hidden;
    cursor: default !important;
}

.case-study-swiper .swiper-wrapper {
    cursor: default !important;
    pointer-events: none;
}

.case-study-swiper .swiper-slide {
    cursor: default !important;
    pointer-events: none;
    background: #f8f8fb;
    border-radius: 16px;
}

.case-study-swiper .swiper-slide a,
.case-study-swiper .swiper-slide button,
.case-study-swiper .swiper-slide .case-study-slide__video-overlay,
.case-study-swiper .swiper-slide .case-study-slide__image-wrapper,
.case-study-swiper .swiper-slide .case-study-slide__video-preview {
    pointer-events: auto;
}

.case-study-swiper {
    height: auto;
}

.case-study-slide {
    height: 100%;
    max-height: none;
}
.case-study-swiper .swiper-slide {
    height: 515px !important;
}

/* Cap inner container to avoid exceeding max */
.case-study-slide__content {
    height: 100%;
    max-height: none;
    display: flex;
}

/* Ensure inner columns and media fill the fixed slide height */
.case-study-slide__right,
.case-study-slide__image-wrapper {
    height: 100%;
}

/* Within case study swiper, media should cover the fixed height */
.case-study-swiper .case-study-slide__image,
.case-study-swiper .case-study-slide__video-preview {
    height: 100%;
}

.case-study-slide__content {
    display: flex;
    gap: 26px;
    align-items: stretch;
    padding: 26px;
    border-radius: 16px;
    height: 100%;
}

/* Left Column (30%) */
.case-study-slide__left {
    flex: 0 0 30%;
    display: grid;
    grid-template-rows: 1fr auto;
    padding: 0;
    position: relative;
    min-height: 0;
}

.case-study-slide__content-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1 1 auto;
    padding-top: 60px;
    height: 100%;
    min-height: 0;
}

.case-study-slide__top-row {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Removed old pagination styles - now using static pagination */

/* Counter */
.case-study-slide__counter {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
}

.case-study-slide__current {
    color: #FB3640;
}

.case-study-slide__separator,
.case-study-slide__total {
    color: #000000;
}

/* Navigation buttons */
.case-study-slider__nav {
    width: 27px;
    height: 27px;
    background-color: #010D1C;
    border-radius: 8px;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
}

.case-study-slider__nav:hover {
    background-color: #FB3640;
}

.case-study-slider__nav.swiper-button-disabled {
    background-color: #ccc;
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.case-study-slider__nav.swiper-button-disabled:hover {
    background-color: #ccc;
}

/* Video Play Button */
.case-study-slide__image-wrapper {
    position: relative;
    overflow: hidden;
}

.case-study-slide__video-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    z-index: 1;
    transition: all 0.3s ease;
    pointer-events: none;
}

.case-study-slide__video-overlay svg {
    pointer-events: auto;
    /* Removed drop-shadow filter */
}

.case-study-slide__video-overlay:hover {
    transform: translate(-50%, -50%) scale(1.1);
}

/* Video Modal */
.case-study-video-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.case-study-video-modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.case-study-video-modal__content {
    position: relative;
    width: 100%;
    max-width: 900px;
    max-height: 80vh;
}

.case-study-video-modal__close {
    position: absolute;
    top: -50px;
    right: 0;
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    padding: 10px;
    z-index: 10;
    transition: opacity 0.3s ease;
}

.case-study-video-modal__close:hover {
    opacity: 0.7;
}

.case-study-video-modal__video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    background-color: #000;
    border-radius: 8px;
    overflow: hidden;
}

.case-study-video-modal__video-container iframe,
.case-study-video-modal__video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.case-study-slider__nav svg {
    width: 16px;
    height: 16px;
}

/* Title */
.case-study-slide__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 29px;
    letter-spacing: 0%;
    vertical-align: middle;
    color: #010D1C;
    margin: 0;
}

/* Description */
.case-study-slide__description {
    color: #010D1C;
    margin: 0;
    overflow: hidden;
    line-height: 1.5;
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
}

.case-study-slide__description::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 36px;
    background: linear-gradient(to bottom, rgba(248, 248, 251, 0) 0%, rgba(248, 248, 251, 0.95) 70%, #f8f8fb 100%);
    pointer-events: none;
    transition: opacity 0.2s ease;
}

/* Two columns */
.case-study-slide__columns {
    display: flex;
    gap: 20px;
    flex: 0 0 auto;
}

.case-study-slide__column {
    flex: 1;
}

.case-study-slide__column--left {
    border-left: 1px solid #FB3640;
    padding-left: 24px;
    padding-right: 24px;
}

.case-study-slide__column--right {
    border-left: 1px solid #FB3640;
    padding-left: 24px;
}

.case-study-slide__column-title {
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #000;
    vertical-align: middle;
    color: #010D1C;
    margin: 0 0 12px 0;
}

.case-study-slide__column-text {
    color: #010D1C;
    margin: 0;
}

/* Read More link */
.case-study-slide__cta {
    color: #FB3640;
    text-decoration: none;
    transition: color 0.3s ease;
    align-self: flex-start;
    margin-top: 24px;
}

.case-study-slide__cta:hover {
    color: #C41E3A;
    text-decoration: underline;
}

/* Right Column (60%) */
.case-study-slide__right {
    flex: 1;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
}

.case-study-slide__image-wrapper {
    width: 100%;
    height: auto;
    border-radius: 16px;
    overflow: hidden;
}

.case-study-slide__image {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 16px;
}

/* Video hover preview */
.case-study-slide__video-preview {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 16px;
    display: block;
}

.case-study-slide__placeholder {
    width: 100%;
    height: 100%;
    background: #f3f4f6;
    border: 2px dashed #d1d5db;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    font-size: 18px;
}

/* Section Title */
.case-study-slider__title {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #7E7E7E;
    text-align: left;
    margin: 0;
}

/* No Content Message */
.case-study-slider__no-content {
    text-align: center;
    color: #6B7280;
    font-size: 1.125rem;
    padding: 3rem 0;
}

/* ========================================
   Logo Carousel With Hover Boxes Styles
   ======================================== */

/* Desktop Logo Alignment - Ensure all logos are in one line */
@media (min-width: 769px) {
    .logo-carousel-hover__items {
        align-items: flex-start;
    }
    
    .logo-carousel-hover__item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        min-height: 56px; /* Fixed height for logo + box area */
    }
    
    .logo-carousel-hover__content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        height: 100%;
    }
    
    .logo-carousel-hover__image-wrapper {
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        flex-shrink: 0;
        margin-bottom: 4px;
    }
    
    .logo-carousel-hover__box {
        min-height: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: fit-content;
    }
}

.logo-carousel-hover {
    padding: 4rem 0;
    padding-top: 0;
    background: #fff;
}

/* Header layout - title centered with Clutch inline in one row */
.logo-carousel-hover__header {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 0;
    margin-bottom: 20px;
    position: relative;
    min-height: unset;
}

.logo-carousel-hover__title-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
}

.logo-carousel-hover__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
    vertical-align: middle;
    color: #000000;
    text-align: center;
    margin: 0;
}

.logo-carousel-hover__clutch-wrapper {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(20%, -50%);
    margin-left: 40px;
}

.logo-carousel-hover__section-clutch-rating {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.6;
    transform: scale(0.6);
    transform-origin: center;
    overflow: visible;
    min-width: max-content; /* prevent clipping due to shrinking */
}

/* Clutch widget styling */
.logo-carousel-hover__section-clutch-rating iframe {
    filter: grayscale(100%);
    width: auto !important;
    max-width: none !important;
}

.logo-carousel-hover__section-clutch-text {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    color: #7E7E7E;
    margin: 0;
    text-align: center;
}

.logo-carousel-hover__wrapper {
    overflow: visible;
}


.logo-carousel-hover__items {
    display: flex;
    align-items: stretch;
    gap: 0;
}

.logo-carousel-hover__item {
    flex: 1;
    padding: 0 32px;
    border-right: 1px solid #7E7E7E;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    min-height: 32px;
    position: relative;
}


/* Cursor pointer only for interactive logos */
.logo-carousel-hover__item:has(.logo-carousel-hover__popup),
.logo-carousel-hover__item:has(.logo-carousel-hover__box-link),
.logo-carousel-hover__item:has(.logo-carousel-hover__hidden-link) {
    cursor: pointer;
}

.logo-carousel-hover__item:last-child {
    border-right: none;
}

.logo-carousel-hover__item:first-child {
    border-left: none;
}

.logo-carousel-hover__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    width: 100%;
    height: 100%;
}

.logo-carousel-hover__link {
    display: block;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.logo-carousel-hover__link:hover .logo-carousel-hover__image {
    opacity: 1;
}

.logo-carousel-hover__hidden-link {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    width: 100%;
    height: 100%;
}

.logo-carousel-hover__image-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 32px;
    flex-shrink: 0;
    position: relative;
}

/* Boxes container */
.logo-carousel-hover__boxes {
    display: flex;
    align-items: stretch;
    gap: 0;
}

.logo-carousel-hover__box-item {
    flex: 1;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    min-height: 32px;
}

.logo-carousel-hover__box-item:last-child {
    border-right: none;
}


.logo-carousel-hover__image {
    max-width: 100%;
    max-height: 32px;
    width: auto;
    height: auto;
    object-fit: contain;
    mix-blend-mode: luminosity;
    opacity: 0.33;
    transition: opacity 0.3s ease;
}

.logo-carousel-hover__box {
    background: #F1F1F8;
    padding: 4px 8px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-height: 20px;
}

/* Default: hide per-logo box on desktop; show desktop row of boxes */
.logo-carousel-hover__item .logo-carousel-hover__box {
    display: none;
}

.logo-carousel-hover__box-link {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-size: 10px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #FB3640;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.logo-carousel-hover__box-link:hover {
    opacity: 0.8;
}

.logo-carousel-hover__no-content {
    text-align: center;
    color: #6B7280;
    font-size: 1.125rem;
    padding: 3rem 0;
}

/* Hover Popup Styles */
.logo-carousel-hover__popup {
    position: absolute;
    top: -20px;
    left: 0;
    transform: translateX(0%) translateY(-100%);
    background: #FFFFFF;
    border-radius: 8px;
    border: 1px solid #F1F1F8;
    box-shadow: 1px 2px 14px 0px rgba(0, 0, 0, 0.08);
    padding: 16px;
    min-width: 320px;
    max-width: 400px;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.logo-carousel-hover__item:hover .logo-carousel-hover__popup {
    opacity: 1;
    visibility: visible;
}

/* Hover effect only for interactive logos */
.logo-carousel-hover__item:has(.logo-carousel-hover__popup):hover .logo-carousel-hover__image,
.logo-carousel-hover__item:has(.logo-carousel-hover__box-link):hover .logo-carousel-hover__image,
.logo-carousel-hover__item:has(.logo-carousel-hover__hidden-link):hover .logo-carousel-hover__image {
    opacity: 1;
}

.logo-carousel-hover__popup-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.logo-carousel-hover__popup-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo-carousel-hover__popup-logo {
    width: 40px;
    height: 40px;
    background: #F1F1F8;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.logo-carousel-hover__popup-logo-img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.logo-carousel-hover__popup-company {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    color: #010D1C;
    margin: 0;
}

.logo-carousel-hover__popup-description {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #010D1C;
    margin: 0;
}

.logo-carousel-hover__popup-author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid #E5E7EB;
}

.logo-carousel-hover__popup-avatar {
    width: 50px;
    height: 50px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.logo-carousel-hover__popup-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.logo-carousel-hover__popup-author-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.logo-carousel-hover__popup-author-name {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 100%;
    color: #010D1C;
    margin: 0;
}

.logo-carousel-hover__popup-author-title {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
    color: #7E7E7E;
    margin: 0;
}


/* Hide close button on desktop */
.logo-carousel-hover__popup-close {
    display: none;
}


/* Mobile Responsive Design */
@media (max-width: 768px) {
    /* Disable hover-driven popup on mobile */
    .logo-carousel-hover__item:hover .logo-carousel-hover__popup {
        opacity: 0;
        visibility: hidden;
    }

    /* Open popup by state class on mobile */
    .logo-carousel-hover__item.is-open .logo-carousel-hover__popup {
        opacity: 1;
        visibility: visible;
    }

    /* Stop hover image flicker on mobile */
    .logo-carousel-hover__item:has(.logo-carousel-hover__popup):hover .logo-carousel-hover__image,
    .logo-carousel-hover__item:has(.logo-carousel-hover__box-link):hover .logo-carousel-hover__image,
    .logo-carousel-hover__item:has(.logo-carousel-hover__hidden-link):hover .logo-carousel-hover__image {
        opacity: 1;
        filter: none;
    }
    .logo-carousel-hover__header {
        flex-direction: column;
        gap: 16px;
    }
    /* Show popup close button on mobile */
    .logo-carousel-hover__popup-close {
        display: block;
        position: absolute;
        top: 8px;
        right: 8px;
        width: 32px;
        height: 32px;
        background: #ffffff;
        border: 1px solid #E5E7EB;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10001;
    }
    .logo-carousel-hover__popup-close svg {
        width: 18px;
        height: 18px;
        color: #010D1C;
    }
    
    .logo-carousel-hover__title-wrapper {
        flex: none;
    }
    
    .logo-carousel-hover__clutch-wrapper {
        position: static;
        transform: none;

    }
    
    .logo-carousel-hover__section-clutch-rating {
        opacity: 0.6; /* same as desktop */
        transform: scale(0.6); /* same as desktop */
    }
    /* Keep iframe styling same as desktop (grayscale) - remove mobile override */
}

@media (max-width: 480px) {
    .logo-carousel-hover__items {
        justify-content: center;
    }
    
    .logo-carousel-hover__item {
        flex: 0 0 100%;
        border: none !important;
        max-width: 300px;
        flex-direction: column;
    }
    
    .logo-carousel-hover__boxes { display: none !important; }
    /* Ensure boxes appear under their respective logos on small mobile */
    .logo-carousel-hover__item { display: flex; flex-direction: column; align-items: center; }
    .logo-carousel-hover__item .logo-carousel-hover__box { display: flex; margin-top: 8px; text-align: center; }
    
    .logo-carousel-hover__popup {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: auto;
        max-width: calc(100vw - 16px);
        border-radius: 8px;
        padding: 16px;
        box-sizing: border-box;
        margin: 0;
        z-index: 10000;
    }

    /* Ensure open item stacks above neighbors */
    .logo-carousel-hover__item.is-open {
        z-index: 10001;
    }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .case-study-slide__content {
        gap: 30px;
    }
    
    .case-study-slide__left {
        flex: 0 0 45%;
    }
    
    .case-study-slide__right {
        flex: 1;
    }
}

@media (max-width: 768px) {
    .case-study-slider {
        padding: 1.5rem 0;
    }
    
    .case-study-slider__navigation-container {
        width: 100%;
        height: 60px;
        padding: 40px;
    }
    
    
    .case-study-slide__content {
        flex-direction: column;
        gap: 2rem;
    }
    
    .case-study-slide__left {
        flex: 1;
        padding-top: 0;
        grid-template-rows: auto auto;
    }

    .case-study-slide__content-group {
        padding-top: 0;
        height: auto;
    }

    .case-study-slide__description {
        -webkit-line-clamp: 12;
        line-clamp: 12;
        max-height: calc(1.4em * 12);
    }

    .case-study-slide__description::after {
        height: 40px;
        background: linear-gradient(to bottom, rgba(248, 248, 251, 0) 0%, rgba(248, 248, 251, 0.95) 60%, #f8f8fb 100%);
    }

    .case-study-swiper .swiper-slide {
        height: 100%!important;
        padding-top: 60px;
    }
    
    .case-study-slide__right {
        flex: 1;
    }
    
    .case-study-slide__title {
        font-size: 28px;
    }
    
    .case-study-slider__nav {
        width: 24px;
        height: 24px;
    }
    
    .case-study-slider__nav svg {
        width: 14px;
        height: 14px;
    }
}

@media (max-width: 480px) {
   
    
    .case-study-slide__content {
        gap: 1.5rem;
    }
    
    .case-study-slide__top-row {
        margin-bottom: 30px;
    }
    
    .case-study-slide__title {
        font-size: 24px;
    }
    
    .case-study-slide__columns {
        flex-direction: column;
        gap: 16px;
        border-top: 1px solid #FB3640;
        padding-top: 16px;
    }
    
    .case-study-slide__column--left {
        border-left: none;
        border-top: none;
        padding-left: 0;
        padding-top: 0;
    }

    .case-study-slide__column--right {
        border-right: none;
        border-left: none;
        padding-right: 0;
        padding-left: 0;
    }

    .case-study-slide__cta {
        margin: 0;
    }
    
    .case-study-slider__nav {
        width: 20px;
        height: 20px;
    }
    
    .case-study-slider__nav svg {
        width: 12px;
        height: 12px;
    }
}

@media (max-width: 768px) {
    .logo-carousel-hover__items {
        flex-wrap: wrap;
        border: none !important;
        gap: 16px;
        justify-content: center;
    }
    .logo-carousel-hover__item {
        flex: 0 0 50%;
        border: none !important;
        padding: 16px;
        height: auto;
        min-height: 60px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    /* Mobile: hide desktop row and show per-logo box under each logo */
    .logo-carousel-hover__boxes { display: none !important; }
    .logo-carousel-hover__item .logo-carousel-hover__box { display: flex; margin-top: 8px; text-align: center; }
}

/* Ensure per-logo box renders directly under each logo */
.logo-carousel-hover__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}
.logo-carousel-hover__image-wrapper {
    margin-bottom: 4px;
}
.logo-carousel-hover__box {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 4px;
}

/* Founders Statement - Original Version */
section.founders-statement {
    padding: 4rem 0;
}

section.founders-statement .row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

@media (max-width: 768px) {
    section.founders-statement .row {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* Left photo with caption badge and badges */
section.founders-statement .founders-photo {
    position: relative;
    margin: 0;
}

/* Founders Statement - minimal hooks for layout */
section.founders-statement {
    padding: 60px 0;
}
section.founders-statement .row {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 65px;
    align-items: center;
}
section.founders-statement .col-left .founders-photo {
    border-radius: 12px;
}

section.founders-statement .col-left .photo-wrapper {
    position: relative;
    z-index: 1;
}

section.founders-statement .col-left .photo-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}

section.founders-statement .founders-caption-badge {
    --r: 1em;  /* the radius */
    --t: 1.5em; /* the size of the tail */
    
    position: absolute;
    top: 0;
    left: 0;
    max-width: 300px;
    padding: 1em;
    border-inline: var(--t) solid #0000;
    border-bottom: var(--t) solid #0000;
    border-radius: calc(var(--r) + var(--t))/var(--r);
    
    mask: 
        radial-gradient(100% 100% at 0 var(--_p),#0000 99%,#000 102%) 
        0 var(--_p)/var(--t) var(--t) no-repeat,
        linear-gradient(#000 0 0) padding-box;
    
    background: #FFFFFF;
    color: #000;
    --_p: 0;
    border-bottom-left-radius: 0 0;
    border-top-right-radius: 0 0;
    
    z-index: 2;
}

section.founders-statement .founders-caption-badge .caption-title {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    color: #000;
    margin-bottom: 5px;
}

section.founders-statement .founders-caption-badge .caption-subtitle {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    color: #939393;
}

/* Badges */
section.founders-statement .founders-badges {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

section.founders-statement .founders-badges--left {
    bottom: 20px;
    right: 20px;
}

section.founders-statement .founders-badges--right {
    position: static;
    margin: 20px 0;
}

section.founders-statement .badge-item {
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(255, 255, 255, 0.9);
    padding: 5px 10px;
    border-radius: 15px;
}

section.founders-statement .badge-item img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

section.founders-statement .badge-label {
    font-size: 12px;
    color: #000;
}

/* Right column - quote, description, caption */
section.founders-statement .quote-wrap {
    position: relative;
    margin-bottom: 30px;
}

section.founders-statement .quote-heading {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 40px;
    line-height: 48.8px;
    color: #010D1C;
    margin: 0;
    padding: 0;
    padding-right: 60px;
}

section.founders-statement .quote-wrap::before {
    content: none;
    position: absolute;
    top: 0;
    left: -30px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 40px;
    color: #FB3640;
    line-height: 1;
}

section.founders-statement .quote-wrap::after {
    content: none;
    position: absolute;
    bottom: 0;
    right: 30px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 40px;
    color: #FB3640;
    line-height: 1;
}

section.founders-statement .description {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #000000BF;
    padding-left: 23px;
    padding-right: 73px;
    border-left: 3px solid #FB3640;
}

section.founders-statement .right-caption-title {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    color: #000;
    margin-bottom: 5px;
}

section.founders-statement .right-caption-subtitle {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    color: #939393;
}


section.founders-statement .left-caption-title {
    margin-top: 16px;
    font-weight: 600;
}
section.founders-statement .left-caption-subtitle {
    color: #7E7E7E;
}
section.founders-statement .quote-wrap {
    position: relative;
}
/* quote marks removed; styling will be done purely via CSS on heading if needed */
section.founders-statement .quote-heading {
    margin: 12px 0 24px 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 48.8px;
    letter-spacing: 0%;
    vertical-align: middle;
    color: #010D1C;
}
/* Stylized quote marks around the heading */
section.founders-statement .quote-heading {
    position: relative;
    padding-right: 35px;
}

section.founders-statement .quote-heading::before,
section.founders-statement .quote-heading::after {
    content: '';
    position: absolute;
    top: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 48.8px;
    letter-spacing: 0%;
    color: #FB3640;
}
section.founders-statement .quote-heading::before { content: '“'; left: -35px; }
section.founders-statement .quote-heading::after { content: '”'; right: 0; bottom: 0; top: auto; }



section.founders-statement .description {
    border-left: 3px solid #FB3640;
    padding-left: 23px;
    padding-right: 35px;
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0%;
    vertical-align: middle;
    color: #000000BF;
}
/* Left photo caption badge */
section.founders-statement .founders-photo {
    position: relative;
}
section.founders-statement .founders-caption-badge {
    --r: 1em;  /* the radius */
    --t: 1.5em; /* the size of the tail */
    
    position: absolute;
    top: 0;
    left: 0;
    max-width: 300px;
    padding: 1em;
    border-inline: var(--t) solid #0000;
    border-bottom: var(--t) solid #0000;
    border-radius: calc(var(--r) + var(--t))/var(--r);
    
    mask: 
        radial-gradient(100% 100% at 0 var(--_p),#0000 99%,#000 102%) 
        0 var(--_p)/var(--t) var(--t) no-repeat,
        linear-gradient(#000 0 0) padding-box;
    
    background: #FFFFFF;
    color: #000;
    --_p: 0;
    border-bottom-left-radius: 0 0;
    border-top-right-radius: 0 0;
    
    z-index: 2;
}
section.founders-statement .caption-title {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0%;
    vertical-align: middle;
    color: #000;
}
section.founders-statement .caption-subtitle {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0%;
    vertical-align: middle;
    color: #939393;
}

/* Badges */
section.founders-statement .founders-badges {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
section.founders-statement .founders-badges--left { left: 20px; bottom: 20px; }
section.founders-statement .founders-badges--right { right: 0; margin-top: 16px; position: static; }
section.founders-statement .founders-badge { background: rgba(255,255,255,0.9); padding: 8px; border-radius: 8px; display: inline-flex; align-items: center; gap: 8px; }
section.founders-statement .founders-badge img { max-height: 56px; width: auto; height: auto; display: block; }
section.founders-statement .founders-badge__label { font-size: 12px; color: #7E7E7E; }
section.founders-statement .right-caption-title { margin-top: 20px; font-weight: 600; }
section.founders-statement .right-caption-subtitle { color: #7E7E7E; }
@media (max-width: 992px){
    section.founders-statement .row { grid-template-columns: 1fr; }
    section.founders-statement .founders-badges--left { position: static; flex-direction: row; }
        section.founders-statement .quote-wrap::before,
    section.founders-statement .quote-wrap::after {
        content: none !important;
    }
}

/* Mobile overrides - must be after desktop styles */
@media (max-width: 768px) {
    section.founders-statement .quote-wrap {
        padding-left: 40px;
        padding-right: 40px;
    }
    /* Disable outer quote pseudo-elements on mobile to prevent duplicates */
    section.founders-statement .quote-wrap::before,
    section.founders-statement .quote-wrap::after {
        content: none !important;
    }
    
    section.founders-statement .quote-wrap::before {
        left: 20px;
    }
    
    section.founders-statement .quote-wrap::after {
        right: 20px;
    }
    
    section.founders-statement .quote-heading {
        padding-right: 0;
        font-size: 30px;
        line-height: 37px;
    }
    
    section.founders-statement .description {
        padding-right: 0;
        padding: 0 20px;
        font-size: 14px;
        line-height: 21px;
    }
}
.tri-storm-methodology {
    position: relative;
    padding-top: 64px;
    padding-bottom: 64px;
}

.tri-storm-methodology__row {
    --bs-gutter-x: 30px;
}

.tri-storm-methodology__intro > * {
    margin: 0;
}

.tri-storm-methodology__heading + .tri-storm-methodology__description {
    margin-top: 16px;
}

.tri-storm-methodology__heading {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 40px;
    line-height: 48.75px;
    letter-spacing: 0;
    color: #010D1C;
}

.tri-storm-methodology__description > *:first-child {
    margin-top: 0;
}

.tri-storm-methodology__description > *:last-child {
    margin-bottom: 0;
}

.tri-storm-methodology__description {
    font-family: 'Source Sans Pro', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #000000BF;
}

.tri-storm-methodology__description + .tri-storm-methodology__cta {
    margin-top: 12px;
}

.tri-storm-methodology__cta + .tri-storm-methodology__stats {
    margin-top: 32px;
}

.tri-storm-methodology__cta-link {
    display: inline-flex;
    align-items: center;
    font-family: 'Source Sans Pro', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #FB3640;
    text-decoration: none;
}

.tri-storm-methodology__cta-link::before {
    content: "/";
    color: inherit;
    margin-right: 9px;
}

.tri-storm-methodology__cta-link:hover {
    color: #FB3640;
}

.tri-storm-methodology__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.tri-storm-methodology__stat {
    border-left: 3px solid #FB3640;
    padding: 16px 40px 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.tri-storm-methodology__stat-value {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 29px;
    letter-spacing: 0;
    color: #FB3640;
}

.tri-storm-methodology__stat-label {
    font-family: 'Source Sans Pro', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #000000BF;
}

.tri-storm-methodology__clients {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
    align-items: center;
    text-align: center;
}

.tri-storm-methodology__logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

.tri-storm-methodology__clients-heading {
    font-family: 'Source Sans Pro', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #010D1C;
    margin: 0;
}

.tri-storm-methodology__logo {
    width: 114px;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tri-storm-methodology__logo img {
    max-width: 100%;
    height: auto;
    display: block;
}

.tri-storm-methodology__steps-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.tri-storm-methodology__steps-list + .tri-storm-methodology__clients {
    margin-top: 71px;
}

.tri-storm-methodology__step {
    margin: 0 auto;
    padding: 0;
    position: relative;
    --tri-step-order: 1;
    --tri-step-ratio: 1;
    --tri-step-base: 530px;
    --tri-step-skew-compensation: 24px;
    width: min(100%, calc(var(--tri-step-base) * var(--tri-step-ratio)));
}

.tri-storm-methodology__step-inner {
    position: relative;
    padding-left: 30px;
    width: 100%;
}

.tri-storm-methodology__step-index {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-style: italic;
    font-size: 64px;
    line-height: 50px;
    letter-spacing: 0;
    color: #010D1C1A;
    z-index: 0;
    pointer-events: none;
}

.tri-storm-methodology__step-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.tri-storm-methodology__step-title {
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
    min-width: calc(100% - var(--tri-step-skew-compensation));
    margin-right: 0;
    background: #fff;
    border: 1px solid #1318221A;
    box-shadow: 0px 4px 10px 0px #010D1C0D;
    padding: 0 44px;
    height: 73px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transform: skewX(-30deg);
}

.tri-storm-methodology__step-title > span {
    display: inline-block;
    transform: skewX(30deg);
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 20px;
    color: #010D1C;
}

.tri-storm-methodology__step-details {
    margin: 0;
    font-family: 'Source Sans Pro', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #000000BF;
}

@media (max-width: 991px) {
    body {
        overflow-x: hidden;
    }

    .tri-storm-methodology__step {
        margin: 0 0 0 auto;
    }

    .tri-storm-methodology__step-title {
        width: calc(100% + 120px);
        min-width: calc(100% + 120px - var(--tri-step-skew-compensation));
        margin-right: -120px;
    }

    .tri-storm-methodology__stats {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 8px;
    }

    .tri-storm-methodology__stat {
        width: 100%;
    }

    .tri-storm-methodology__steps-list {
        margin-top: 48px;
    }

    .tri-storm-methodology__steps-list + .tri-storm-methodology__clients {
        margin-top: 40px;
    }
}

@media (max-width: 768px) {
    .tri-storm-methodology {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .tri-storm-methodology__stats {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 8px;
    }

    .tri-storm-methodology__stat {
        width: 100%;
    }

    .tri-storm-methodology__steps-list + .tri-storm-methodology__clients {
        margin-top: 40px;
    }

    .tri-storm-methodology__steps-list {
        margin-top: 48px;
    }
}

.tri-storm-process {
    padding-top: 96px;
    padding-bottom: 96px;
    background: #fff;
}

.tri-storm-process .container {
    max-width: 720px;
}

.tri-storm-process__intro {
    max-width: 720px;
    margin: 0 auto 48px;
}

.tri-storm-process__heading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 48.75px;
    color: #010D1C;
    margin-bottom: 24px;
    text-align: center;
}

.tri-storm-process__lead {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: #000000BF;
}

.tri-storm-process__lead > *:first-child {
    margin-top: 0;
}

.tri-storm-process__lead > *:last-child {
    margin-bottom: 0;
}

.tri-storm-process__steps {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    row-gap: 24px;
    max-width: 720px;
}

.tri-storm-process__step {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}

.tri-storm-process__step-label {
    width: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.tri-storm-process__step-number {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 1;
    color: #010D1C1A;
}

.tri-storm-process__step-graphic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
}

.tri-storm-process__step-graphic svg {
    display: block;
}

.tri-storm-process__step-content {
    flex: 1;
    padding: 16px;
}

.tri-storm-process__step-title {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1;
    color: #010D1C;
    margin: 0 0 24px;
}

.tri-storm-process__step-text {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 16px;
    line-height: 1;
    color: #000000BF;
}

.tri-storm-process__step-text p {
    margin-top: 0;
    margin-bottom: 8px;
}

@media (max-width: 991px) {
    .tri-storm-process {
        padding-top: 72px;
        padding-bottom: 72px;
    }
}

@media (max-width: 768px) {
    .tri-storm-process__intro {
        margin-bottom: 24px;
    }

    .tri-storm-process__heading {
        font-size: 32px;
    }

    .tri-storm-process__steps {
        row-gap: 0;
    }

    .tri-storm-process__step {
        gap: 16px;
    }

    .tri-storm-process__step-content {
        padding-top: 0;
    }
}
