/*-------------------------------------------*/
/* FONTS
/*-------------------------------------------*/
@font-face {
    font-family: "Red Hat Display";
    src: url('../fonts/RedHatDisplay-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Red Hat Display";
    src: url('../fonts/RedHatDisplay-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Red Hat Display";
    src: url('../fonts/RedHatDisplay-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: "Barlow";
    src: url('../fonts/barlow-v4-r.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}



/*-------------------------------------------*/
/* ROOT VARIABLES
/*-------------------------------------------*/

:root {
    /* Colors */
    --color-red: #B70000;
    --color-black: #1A1A1A;
    --color-dark-gray: #2E2E2E;
    --color-light-gray: #E9E9E9;
    --color-white: #FFFFFF;
    --color-full-black:#000000;



    /* Fonts */
    --font-heading: "Red Hat Display", sans-serif;
    --font-body: "Barlow", sans-serif;


    --weight-regular: 400;
    --weight-semibold: 600;
    --weight-bold: 700;
    --weight-extrabold: 800;

    /*Padding*/
    --padding-s:24px;
    --padding-m:32px;
}



-------------------------------------------*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    background-color: var(--color-white);
    color: var(--color-black);
    font-size: 16px;
}


/*Headeing*/
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    margin: 0;
}

h1,
h2
 {
    font-weight: var(--weight-extrabold);
}

h3, h4, h5, h6 {
    font-weight: var(--weight-bold);
}


p{
    font-family: var(--font-body);
    margin: 0;
    font-size: 18px;
    line-height: 1.5em;
}





h2 {
    margin: 0;
    margin-bottom: 32px;
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: var(--weight-extrabold);
    line-height: 1.05;
    letter-spacing: -1px;
    color: var(--color-black);
}


h2 span {
    color: var(--color-red);
}


/*h2*/
.red-line::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 180px;
    height: 3px;
    background: var(--color-red);
}




h3{
    font-size: 32px;
    margin-bottom: 24px;
}


/*Main----------------------------------*/
.tx-section {
    padding-left: 5%;
    padding-right: 5%;
}

.tx-section, .tenx {
    padding-top: 120px;
    padding-bottom: 120px;
}

.tx-section-inner {
    width: 90%;
    max-width: 1280px;
    margin: 0 auto;
    align-items: center;
    position: relative;
}

.mt{
  margin-top: 24px;
}

.mb{
  margin-bottom: 24px;
}

ul{
    margin: 0;
}

.sub-title-w {
    font-family: var(--font-heading);
    font-size: 16px;
    line-height: 1;
    font-weight: var(--weight-semibold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-white);
    position: relative;
    padding: 16px 30px 16px 12px;
    background: var(--color-red);
    border-left: 12px solid var(--color-white);
    clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
    display: inline-block;
    margin-bottom: 12px;
}

.sub-title-r {
    font-family: var(--font-heading);
    font-size: 16px;
    line-height: 1;
    font-weight: var(--weight-semibold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-white);
    position: relative;
    padding: 16px 30px 16px 12px;
    background: var(--color-red);
    border-left: 12px solid var(--color-full-black);
    clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
    display: inline-block;
    margin-bottom: 12px;
}






/*Button*/
.b-btn{
    display:inline-block;
    position:relative;
}
.b-btn a{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:15px 28px;
    font-family:var(--font-body);
    font-weight:var(--weight-semibold);
    font-size:14px;
    line-height:1;
    color:var(--color-white);
    background:var(--color-black);
    text-decoration:none;
    border:0;
    border-radius:0;
    overflow:hidden;
    isolation:isolate;
    transition:color .35s ease,background-color .35s ease,gap .35s ease;
}
.b-btn a::before{
    content:"";
    position:absolute;
    top:-25%;
    right:-18px;
    width:38px;
    height:150%;
    background:var(--color-red);
    transform:skewX(-20deg);
    z-index:-1;
    transition:width .45s cubic-bezier(.22,1,.36,1);
}
.b-btn a::after{
    content:"→";
    position:relative;
    z-index:2;
    font-size:17px;
    line-height:1;
    transition:transform .3s ease;
}
.b-btn a>*{
    position:relative;
    z-index:2;
}
.b-btn:hover a{
    color:var(--color-white);
    background:var(--color-red);
    gap:16px;
}
.b-btn:hover a::before{
    width:130%;
}
.b-btn:hover a::after{
    transform:translateX(5px);
}

.red-btn{
    display:inline-block;
    position:relative;
}
.red-btn a{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:15px 28px;
    font-family:var(--font-body);
    font-weight:var(--weight-semibold);
    font-size:14px;
    line-height:1;
    color:var(--color-white);
    background:var(--color-red);
    text-decoration:none;
    border:0;
    border-radius:0;
    overflow:hidden;
    isolation:isolate;
    transition:color .35s ease,background-color .35s ease,gap .35s ease;
}
.red-btn a::before{
    content:"";
    position:absolute;
    top:-25%;
    right:-18px;
    width:38px;
    height:150%;
    background:var(--color-black);
    transform:skewX(-20deg);
    z-index:-1;
    transition:width .45s cubic-bezier(.22,1,.36,1);
}
.red-btn a::after{
    content:"→";
    position:relative;
    z-index:2;
    font-size:17px;
    line-height:1;
    transition:transform .3s ease;
}
.red-btn a>*{
    position:relative;
    z-index:2;
}
.red-btn:hover a{
    color:var(--color-white);
    background:var(--color-black);
    gap:16px;
}
.red-btn:hover a::before{
    width:130%;
}
.red-btn:hover a::after{
    transform:translateX(5px);
}

.w-btn{
    display:inline-block;
    position:relative;
}
.w-btn a{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:15px 28px;
    font-family:var(--font-body);
    font-weight:var(--weight-semibold);
    font-size:14px;
    line-height:1;
    color:var(--color-black);
    background:var(--color-white);
    text-decoration:none;
    border:0;
    border-radius:0;
    overflow:hidden;
    isolation:isolate;
    transition:color .35s ease,background-color .35s ease,gap .35s ease;
}
.w-btn a::before{
    content:"";
    position:absolute;
    top:-25%;
    right:-18px;
    width:38px;
    height:150%;
    background:var(--color-red);
    transform:skewX(-20deg);
    z-index:-1;
    transition:width .45s cubic-bezier(.22,1,.36,1);
}
.w-btn a::after{
    content:"→";
    position:relative;
    z-index:2;
    font-size:17px;
    line-height:1;
    transition:transform .3s ease;
}
.w-btn a>*{
    position:relative;
    z-index:2;
}
.w-btn:hover a{
    color:var(--color-white);
    background:var(--color-black);
    gap:16px;
}
.w-btn:hover a::before{
    width:130%;
}
.w-btn:hover a::after{
    transform:translateX(5px);
}




.w-btn2{
    display:inline-block;
    position:relative;
}
.w-btn2 a{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:15px 28px;
    font-family:var(--font-body);
    font-weight:var(--weight-semibold);
    font-size:14px;
    line-height:1;
    color:var(--color-black);
    background:var(--color-white);
    text-decoration:none;
    border:0;
    border-radius:0;
    overflow:hidden;
    isolation:isolate;
    transition:color .35s ease,background-color .35s ease,gap .35s ease;
}
.w-btn2 a::before{
    content:"";
    position:absolute;
    top:-25%;
    right:-18px;
    width:38px;
    height:150%;
    background:var(--color-red);
    transform:skewX(-20deg);
    z-index:-1;
    transition:width .45s cubic-bezier(.22,1,.36,1);
}
.w-btn2 a::after{
    content:"→";
    position:relative;
    z-index:2;
    font-size:17px;
    line-height:1;
    transition:transform .3s ease;
}
.w-btn2 a>*{
    position:relative;
    z-index:2;
}
.w-btn2 a:hover{
    color:var(--color-white);
    background:var(--color-black);
    gap:16px;
}
.w-btn2 a:hover::before{
    width:130%;
    background:var(--color-black);
}
.w-btn2 a:hover::after{
    transform:translateX(5px);
}



.red-w-btn {
    display: inline-block;
    position: relative;
}

.red-w-btn a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 15px 28px;
    font-family: var(--font-body);
    font-weight: var(--weight-semibold);
    font-size: 14px;
    line-height: 1;
    color: var(--color-white);
    background: var(--color-red);
    text-decoration: none;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    isolation: isolate;
    transition:
        color .35s ease,
        background-color .35s ease,
        gap .35s ease;
}

.red-w-btn a::before {
    content: "";
    position: absolute;
    top: -25%;
    right: -18px;
    width: 38px;
    height: 150%;
    background: var(--color-white);
    transform: skewX(-20deg);
    z-index: -1;
    transition: width .45s cubic-bezier(.22, 1, .36, 1);
}

.red-w-btn a::after {
    content: "→";
    position: relative;
    z-index: 2;
    font-size: 17px;
    line-height: 1;
    transition: transform .3s ease;
}

.red-w-btn a > * {
    position: relative;
    z-index: 2;
}

.red-w-btn:hover a {
    color: var(--color-black);
    background: var(--color-white);
    gap: 16px;
}

.red-w-btn:hover a::before {
    width: 130%;
}

.red-w-btn:hover a::after {
    transform: translateX(5px);
}


.service-card:hover .w-btn2 a{
    color:var(--color-white);
    background:var(--color-black);
    gap:16px;
}
.service-card:hover .w-btn2 a::before{
    width:130%;
    background:var(--color-black);
}
.service-card:hover .w-btn2 a::after{
    transform:translateX(5px);
}



/*======================*/
.red-w-btn br{
    display: none;
}

.red-btn br{
    display: none;
}


/*------------------------------*/

@media (max-width: 1200px) {
    .tenx{
        padding-top: 100px;
        padding-bottom: 100px;
    }
}

/*------------------------------*/

@media (max-width: 1080px) {
    .tenx {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    /*br*/
    h2 br{
        display: none;
    }
}

/*------------------------------*/

@media (max-width: 768px) {

    h2{
        font-size: 36px;
    }
}




/*------------------------------*/
@media (max-width:480px){
    .global-hero h1{
        font-size: 50px!important;
    }



    .red-w-btn span{
        display: none;
    }

    .red-btn span{
        display: none;
    }

    .w-btn span{
        display: none;
    }
    
}






/* =========================================================
   V25 · Alternate action button
========================================================= */
.tenx-action-btn-alt{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    min-height:52px;padding:14px 24px;border:2px solid var(--color-red);
    background:transparent;color:var(--color-red)!important;text-decoration:none!important;
    font-family:var(--font-heading);font-weight:var(--weight-bold);text-transform:uppercase;
    letter-spacing:.35px;transition:background .25s ease,color .25s ease,transform .25s ease;
}
.tenx-action-btn-alt:hover{background:var(--color-red);color:var(--color-white)!important;transform:translateY(-2px)}
.tenx-single-link-cta{cursor:pointer}
.tenx-field-error{display:block;margin-top:7px;color:#b70000;font-size:12px;font-weight:700;line-height:1.35}
.tenx-field-invalid input,.tenx-field-invalid textarea,input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#b70000!important;box-shadow:0 0 0 2px rgba(183,0,0,.08)}

/* =========================================================
   CTA TYPOGRAPHY WITHOUT HEADING TAGS
   CTA-only titles use paragraphs while preserving heading visuals.
========================================================= */
.tenx-cta-heading {
    max-width: 1050px;
    margin: 0 0 32px;
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: var(--weight-extrabold);
    line-height: 1.05;
    letter-spacing: -1px;
    color: var(--color-black);
}
.tenx-cta-heading span { color: var(--color-red); }
.tenx-cta-title {
    margin: 0;
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: var(--weight-bold);
    line-height: 1.1;
}
.snow-emergency-title .tenx-cta-title,
.emergency-cta-title .tenx-cta-title {
    color: var(--color-black);
    font-size: 28px;
    line-height: 1.1;
    overflow-wrap: break-word;
}
.snow-section-cta .tenx-cta-title {
    margin: 5px 0 0;
    font-size: 24px;
}
.snow-section-cta-dark .tenx-cta-title,
.snow-section-cta-glass .tenx-cta-title { color: var(--color-white); }
.snow-closing-card .tenx-cta-heading,
.sp-snow-closing-cta .tenx-cta-heading { color: var(--color-white); }
.home-cta .tenx-home-cta-heading { max-width: 1050px; margin-bottom: 45px; }
@media (max-width: 768px) {
    .tenx-cta-heading { font-size: 36px; }
    .home-cta .tenx-home-cta-heading { margin-bottom: 35px; }
}
