
.tr-ticker{
    overflow:hidden;
    white-space:nowrap;
    background:var(--tr-black);
    color:#fff;
    border-bottom:3px solid var(--tr-red);
}.tr-ticker-track{
    width:max-content;
    display:flex;
    animation:trTicker 30s linear infinite;
}.tr-ticker-item{
    padding:15px 28px;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.4px;
}.tr-ticker-item span{
    margin-right:8px;
    color:var(--tr-yellow);
}@keyframes trTicker{from{
        transform:translateX(0);
    }to{
        transform:translateX(-50%);
    }

}.tr-section{
    padding:90px 0;
}.tr-band{
    background:var(--tr-soft);
    border-top:1px solid var(--tr-line);
    border-bottom:1px solid var(--tr-line);
}.tr-eyebrow{
    margin-bottom:14px;
    color:var(--tr-red);
    font-size:11px;
    font-weight:900;
    letter-spacing:2.5px;
    text-transform:uppercase;
}.tr-headline{
    margin:10px 0 22px;
    font-size:clamp(40px,5vw,68px);
    line-height:.95;
    letter-spacing:-3px;
}.tr-lead{
    max-width:720px;
    margin:0;
    color:var(--tr-muted);
    font-size:14px;
    line-height:1.7;
}.tr-about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:70px;
}.tr-about-image{
    position:relative;
    height:440px;
    overflow:hidden;
    border-radius:12px;
    background:#111;
}.tr-about-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:.6s ease;
}.tr-about-image:hover img{
    transform:scale(1.05);
}.tr-image-label{
    position:absolute;
    left:20px;
    bottom:20px;
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:13px 16px;
    background:#fff;
}.tr-image-label span{
    color:var(--tr-red);
    font-size:9px;
    font-weight:900;
    letter-spacing:2px;
}.tr-image-label strong{
    font-size:12px;
}.tr-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:45px;
    border-top:1px solid var(--tr-line);
}.tr-stat{
    padding:20px 15px 0 0;
    border-right:1px solid var(--tr-line);
}.tr-stat:last-child{
    border-right:0;
}.tr-stat strong{
    font-size:24px;
}.tr-stat span{
    display:block;
    margin-top:5px;
    color:var(--tr-muted);
    font-size:11px;
}.tr-section-heading{
    margin-bottom:40px;
}.tr-category-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}.tr-category-card {
position:relative;
    height:240px;
    overflow:hidden;
    border-radius:9px;
    background:#111;
    isolation:isolate;
}.tr-category-card img {
position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .5s ease;
}.tr-category-card:hover img {
transform:scale(1.04);
}.tr-category-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
            transparent 20%,
            rgba(0,0,0,.90)
        );
}.tr-category-content{
    position:absolute;
    z-index:2;
    left:20px;
    right:55px;
    bottom:20px;
    color:#fff;
}.tr-category-content h3{
    margin:0 0 6px;
    font-size:18px;
    line-height:1.2;
}.tr-category-content span{
    color:#ddd;
    font-size:9px;
    font-weight:800;
    letter-spacing:1.3px;
    text-transform:uppercase;
}.tr-no-products{
    grid-column:1 / -1;
    padding:50px;
    text-align:center;
    color:var(--tr-muted);
}.tr-custom-section{
    position:relative;
    min-height:560px;
    overflow:hidden;
    color:#fff;
    background:#090b0e
        url("../_admin/pictures/library/website.webp")
        center right /
        cover
        no-repeat;
}.tr-custom-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
            90deg,
            rgba(7,9,12,.98),
            rgba(7,9,12,.90) 32%,
            rgba(7,9,12,.55) 58%,
            rgba(7,9,12,.12)
        );
}.tr-custom-inner{
    position:relative;
    z-index:2;
    min-height:560px;
    display:flex;
    align-items:center;
}.tr-custom-copy{
    max-width:600px;
}.tr-custom-section
.tr-eyebrow{
    color:var(--tr-yellow);
}.tr-custom-section
.tr-headline{
    color:#fff;
}.tr-custom-section
.tr-headline span{
    color:var(--tr-red);
}.tr-custom-section
.tr-lead{
    color:#eee;
}.tr-custom-points{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin:25px 0;
    border-top:1px solid rgba(
            255,
            255,
            255,
            .2
        );
    border-bottom:1px solid rgba(
            255,
            255,
            255,
            .2
        );
}.tr-custom-points span{
    padding:14px 8px;
    border-right:1px solid rgba(
            255,
            255,
            255,
            .18
        );
    font-size:9px;
    font-weight:800;
}.tr-custom-points
span:last-child{
    border-right:0;
}.tr-custom-points b{
    margin-right:4px;
    color:var(--tr-yellow);
}.tr-process-section{
    padding:90px 0;
    background:#f7f7f6;
}.tr-process-heading{
    margin-bottom:48px;
}.tr-process-heading
.tr-headline span{
    color:var(--tr-red);
}.tr-process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}.tr-process-card{
    min-height:245px;
    padding:30px 27px;
    background:#fff;
    border:1px solid #e7e8ea;
    border-radius:6px;
    transition:.25s ease;
}.tr-process-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 38px
        rgba(
            11,
            13,
            16,
            .08
        );
}.tr-process-number{
    margin-bottom:25px;
    color:transparent;
    font-size:48px;
    -webkit-text-stroke:1px #b9bec6;
}.tr-process-label{
    margin-bottom:10px;
    color:var(--tr-red);
    font-size:10px;
    font-weight:900;
    letter-spacing:2px;
}.tr-process-card h3{
    margin:0 0 10px;
    font-size:20px;
}.tr-process-card p{
    margin:0;
    color:var(--tr-muted);
    font-size:13px;
    line-height:1.6;
}.tr-cta{
    padding:80px 0;
   background-image:
     linear-gradient(
            rgba(9,12,16,.45),
            rgba(9,12,16,.45)
        ),
        url("/_admin/pictures/library/contac t-banner.webp");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}.tr-cta-inner{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:50px;
}.tr-cta
.tr-eyebrow{
    color:#fff;
}.tr-cta
.tr-lead{
    color:#fff;
}.tr-cta
.tr-headline{
    color:#fff;
    max-width:800px;
}.tr-reveal{
    opacity:0;
    transform:translateY(25px);
    transition:opacity .7s ease,
        transform .7s ease;
}.tr-reveal.show{
    opacity:1;
    transform:none;
}@media (hover:hover) and (pointer:fine){input,
    textarea,
    select,
    [contenteditable="true"]{
    cursor:auto !important;
}



}



/* =========================================================
   HERO SLIDER
   ========================================================= */
.tr-hero{
    position:relative;
    height:74vh;
    min-height:550px;
    margin-top:82px;
    overflow:hidden;
    background:#08090b;
    isolation:isolate;
}

.tr-hero-slides{
    position:absolute;
    inset:0;
    overflow:hidden;
}

.tr-hero-img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    opacity:0;
    transform:scale(1.10) translate3d(2%,0,0);
    filter:blur(1.5px);
    will-change:opacity,transform,filter;
    transition:
        opacity 1.15s cubic-bezier(.22,.61,.36,1),
        transform 6s cubic-bezier(.22,.61,.36,1),
        filter 1.15s ease;
}

.tr-hero-img.active{
    opacity:1;
    transform:scale(1) translate3d(0,0,0);
    filter:blur(0);
    z-index:1;
}

.tr-hero-overlay{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.62) 0%,
            rgba(0,0,0,.28) 48%,
            rgba(0,0,0,.08) 100%
        );
}



/* =========================================================
   MOBILE HERO SLIDER
   Cleaner framing + smooth Ken Burns transition
   ========================================================= */


@keyframes trHeroMobileZoom{
    from{
        transform:scale(1.07) translate3d(1.5%,0,0);
    }
    to{
        transform:scale(1) translate3d(0,0,0);
    }
}@media(prefers-reduced-motion:reduce){
    .tr-hero-img{
        transition:opacity .25s ease;
        animation:none !important;
        transform:none;
        filter:none;
    }



}@media (max-width: 1050px){

    .tr-about-grid{
        gap:45px;
    }

    .tr-category-grid,
    .tr-process-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .tr-custom-points{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .tr-custom-points span:nth-child(2){
        border-right:0;
    }}@media (max-width: 767px){

    /* ---------- TICKER ---------- */
    .tr-ticker-item{
        padding:12px 18px;
        font-size:9px;
        letter-spacing:1.1px;
    }

    /* ---------- HERO ---------- */
    .tr-hero{
        height:calc(100svh - 68px);
        min-height:540px;
        max-height:760px;
        margin-top:68px;
    }

    .tr-hero-img{
        object-position:58% center;
        transform:scale(1.09) translate3d(3%,0,0);
        filter:blur(1px);
    }

    .tr-hero-overlay{
        background:
            linear-gradient(
                180deg,
                rgba(0,0,0,.12) 0%,
                rgba(0,0,0,.25) 42%,
                rgba(0,0,0,.78) 100%
            );
    }

    /* ---------- SECTIONS ---------- */
    .tr-section{
        padding:64px 0;
    }

    .tr-eyebrow{
        margin-bottom:10px;
        font-size:9px;
        letter-spacing:2px;
    }

    .tr-headline{
        margin:8px 0 18px;
        font-size:clamp(34px,10vw,48px);
        line-height:.98;
        letter-spacing:-2px;
    }

    .tr-lead{
        max-width:none;
        font-size:13px;
        line-height:1.7;
    }

    /* ---------- ABOUT ---------- */
    .tr-about-grid{
        grid-template-columns:1fr;
        gap:30px;
    }

    .tr-about-image{
        height:min(82vw,360px);
        min-height:260px;
        border-radius:9px;
    }

    .tr-image-label{
        left:14px;
        bottom:14px;
        padding:10px 12px;
    }

    .tr-image-label span{
        font-size:8px;
        letter-spacing:1.5px;
    }

    .tr-image-label strong{
        font-size:11px;
    }

    .tr-stats{
        grid-template-columns:repeat(3,minmax(0,1fr));
        margin-top:30px;
    }

    .tr-stat{
        padding:15px 8px 0 0;
    }

    .tr-stat strong{
        font-size:20px;
    }

    .tr-stat span{
        font-size:9px;
        line-height:1.35;
    }

    /* ---------- CATEGORIES ---------- */
    .tr-section-heading{
        margin-bottom:28px;
    }

.tr-category-grid {
display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:22px;
}

.tr-category-card {
position:relative;
    display:block;
    height:270px;
    overflow:hidden;
    border-radius:12px;
    background:#111;
    isolation:isolate;
    box-shadow:0 10px 28px rgba(0,0,0,.12);
}

    .tr-category-content{
        left:14px;
        right:35px;
        bottom:14px;
    }

    .tr-category-content h3{
        margin-bottom:4px;
        font-size:15px;
    }

    .tr-category-content span{
        font-size:8px;
        letter-spacing:1px;
    }

    /* ---------- CUSTOM MANUFACTURING ---------- */
    .tr-custom-section{
        min-height:620px;
        background-position:center center;
    }

    .tr-custom-overlay{
        background:
            linear-gradient(
                180deg,
                rgba(7,9,12,.30) 0%,
                rgba(7,9,12,.78) 52%,
                rgba(7,9,12,.98) 100%
            );
    }

    .tr-custom-inner{
        min-height:620px;
        align-items:flex-end;
        padding:64px 0 50px;
    }

    .tr-custom-copy{
        max-width:none;
    }

    .tr-custom-points{
        grid-template-columns:repeat(2,minmax(0,1fr));
        margin:20px 0;
    }

    .tr-custom-points span{
        padding:12px 7px;
        font-size:8px;
        line-height:1.35;
    }

    /* ---------- PROCESS ---------- */
    .tr-process-section{
        padding:64px 0;
    }

    .tr-process-heading{
        margin-bottom:30px;
    }

    .tr-process-grid{
        grid-template-columns:1fr;
        gap:10px;
    }

    .tr-process-card{
        min-height:auto;
        padding:24px 20px;
    }

    .tr-process-number{
        margin-bottom:16px;
        font-size:38px;
    }

    .tr-process-label{
        margin-bottom:7px;
        font-size:9px;
        letter-spacing:1.7px;
    }

    .tr-process-card h3{
        margin-bottom:8px;
        font-size:18px;
    }

    .tr-process-card p{
        font-size:12px;
        line-height:1.6;
    }

    /* ---------- CTA ---------- */
    .tr-cta{
        padding:60px 0;
    }

    .tr-cta-inner{
        grid-template-columns:1fr;
        gap:24px;
    }

    .tr-reveal{
        transform:translateY(16px);
    }



}@media (max-width: 480px){

    .tr-hero{
        min-height:520px;
    }

    .tr-hero-img{
        object-position:60% center;
    }

    .tr-section,
    .tr-process-section{
        padding:54px 0;
    }

    .tr-headline{
        font-size:clamp(31px,10.5vw,42px);
        letter-spacing:-1.7px;
    }

    .tr-about-image{
        height:72vw;
        min-height:235px;
    }

    .tr-stats{
        gap:0;
    }

    .tr-stat strong{
        font-size:18px;
    }

    .tr-stat span{
        font-size:8px;
    }

    .tr-category-grid{
        grid-template-columns:1fr;
        gap:10px;
    }

    .tr-category-card{
        height: 290px;
    }

    .tr-custom-section,
    .tr-custom-inner{
        min-height:600px;
    }

    .tr-custom-inner{
        padding:52px 0 38px;
    }

    .tr-custom-points span{
        font-size:7.5px;
    }

    .tr-cta{
        padding:52px 0;
    }



}

/* =========================================================
   CERTIFICATIONS — COMPACT HOMEPAGE STYLE
   ========================================================= */

.tr-certifications-section{
    padding:42px 0 38px;
    background:var(--tr-soft);
    border-top:1px solid var(--tr-line);
    border-bottom:3px solid var(--tr-yellow);
}

.tr-certifications-layout{
    display:grid;
    grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);
    gap:64px;
    align-items:center;
}

.tr-certifications-heading{
    text-align:left;
}

.tr-certifications-heading .tr-eyebrow{
    margin-bottom:12px;
}

.tr-certifications-heading .tr-headline{
    margin:0 0 20px;
    color:var(--tr-black);
    font-size:clamp(38px,4vw,56px);
    line-height:.96;
    letter-spacing:-2.2px;
}

.tr-certifications-heading .tr-headline span{
    display:block;
    color:var(--tr-red);
}


.tr-certifications-content{
    text-align:left;
    padding-top:0;
}

.tr-certifications-content .tr-certifications-intro{
    max-width:620px;
}

.tr-certifications-intro{
    max-width:650px;
    margin:0 0 24px;
    color:var(--tr-muted);
    font-size:13px;
    line-height:1.6;
}

.tr-certifications-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--tr-line);
}

.tr-certification-item{
    min-height:128px;
    padding:17px 18px 8px 0;
    border-right:1px solid var(--tr-line);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.tr-certification-item + .tr-certification-item{
    padding-left:18px;
}

.tr-certification-item:last-child{
    border-right:0;
}

.tr-certification-line{
    width:30px;
    height:3px;
    margin:0 0 13px;
    background:var(--tr-red);
}

.tr-certification-item h3{
    margin:0 0 5px;
    color:var(--tr-black);
    font-size:15px;
    font-weight:900;
    line-height:1.2;
}

.tr-certification-item p{
    margin:0;
    color:var(--tr-muted);
    font-size:10px;
    line-height:1.45;
}

.tr-certificate-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:auto;
    padding-top:15px;
    color:var(--tr-red);
    font-size:10px;
    font-weight:800;
    line-height:1.2;
    text-decoration:none;
    transition:color .2s ease, gap .2s ease;
}

.tr-certificate-link span{
    font-size:13px;
    line-height:1;
}

.tr-certificate-link:hover{
    color:var(--tr-black);
    gap:9px;
}

@media (max-width:900px){

    .tr-certifications-layout{
        grid-template-columns:1fr;
        gap:28px;
    }

    .tr-certifications-list{
        grid-template-columns:repeat(3,1fr);
    }

}

@media (max-width:680px){

    .tr-certifications-section{
        padding:40px 0 36px;
    }

    .tr-certifications-list{
        grid-template-columns:1fr;
    }

    .tr-certification-item,
    .tr-certification-item + .tr-certification-item{
        min-height:auto;
        padding:18px 0;
        border-right:0;
        border-bottom:1px solid var(--tr-line);
    }

    .tr-certification-item:last-child{
        border-bottom:0;
    }

}

/* =========================================================
   HOMEPAGE CTA BUTTONS — SAME AS HEADER GET A QUOTE
   Applies to .tr-btn / CTA buttons only.
   Category-card arrows and navigation controls are untouched.
   ========================================================= */

.tr-btn{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-width:175px !important;
    min-height:48px !important;
    height:48px !important;

    padding:0 18px !important;
    gap:10px !important;

    overflow:hidden !important;
    isolation:isolate !important;

    background:#e62930 !important;
    background-color:#e62930 !important;
    color:#fff !important;

    border:1px solid #e62930 !important;
    border-color:#e62930 !important;
    border-radius:5px !important;

    text-decoration:none !important;

    font-size:12px !important;
    font-weight:700 !important;
    line-height:1 !important;

    transition:
        background-color .3s ease,
        border-color .3s ease,
        color .3s ease,
        padding-right .3s ease,
        transform .3s ease,
        box-shadow .3s ease !important;
}

/* Same black slide-over effect as header */
.tr-btn::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;

    background:#090c10 !important;
    transform:translateY(101%) !important;
    z-index:-1 !important;

    transition:
        transform .35s cubic-bezier(.22,.61,.36,1) !important;
}

/* Button text */
.tr-btn > span,
.tr-btn > strong,
.tr-btn > b{
    position:relative !important;
    z-index:2 !important;
}

/* Arrow hidden until hover */
.tr-btn::after{
    content:"↗" !important;
    position:absolute !important;
    right:14px !important;
    top:50% !important;

    width:0 !important;
    height:30px !important;
    overflow:hidden !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    margin:0 !important;

    color:#fff !important;
    background:transparent !important;

    font-size:18px !important;
    font-weight:900 !important;
    line-height:1 !important;

    opacity:0 !important;
    transform:translateY(-50%) translateX(-8px) !important;

    transition:
        width .3s ease,
        opacity .2s ease,
        transform .3s ease !important;
}

/* Exact header-style hover */
.tr-btn:hover{
    padding-right:42px !important;

    background:#090c10 !important;
    background-color:#090c10 !important;

    border-color:#090c10 !important;
    color:#fff !important;

    transform:translateY(-2px) !important;

    box-shadow:
        0 10px 24px rgba(9,12,16,.18) !important;
}

.tr-btn:hover::before{
    transform:translateY(0) !important;
}

.tr-btn:hover::after{
    width:20px !important;
    opacity:1 !important;
    transform:translateY(-50%) translateX(0) !important;
}

/* Keep disabled buttons from using hover motion */
.tr-btn:disabled,
.tr-btn[disabled]{
    cursor:not-allowed !important;
    transform:none !important;
    box-shadow:none !important;
    opacity:.65 !important;
}@media (hover:none), (pointer:coarse){
    .tr-btn{
        transform:none !important;
    }

    .tr-btn::after{
        opacity:0 !important;
        width:0 !important;
    }



}

/* Keep scrolling natural and prevent accidental horizontal movement */
html,
body {
    overflow-x: hidden;
}

/* Hero image: preserve the existing slider transition and add subtle
   scroll-linked movement through the --tr-scroll-y variable. */
.tr-hero-img {
    --tr-scroll-y: 0px;
    will-change: transform;
    transform:
        translate3d(0, var(--tr-scroll-y), 0)
        scale(1.06);
}

.tr-hero-img.active {
    transform:
        translate3d(0, var(--tr-scroll-y), 0)
        scale(1);
}

/* Manufacturing image section */
.tr-custom-section {
    --tr-parallax-y: 0px;
    background-position:
        center calc(50% + var(--tr-parallax-y));
    background-size: cover;
}

/* About image */
.tr-about-image {
    overflow: hidden;
}

.tr-about-image img {
    --tr-about-parallax-y: 0px;
    will-change: transform;
    transform:
        translate3d(0, var(--tr-about-parallax-y), 0)
        scale(1.035);
}

/* Smooth reveal timing for existing .tr-reveal elements */
.tr-reveal {
    will-change: transform, opacity;
}@media (prefers-reduced-motion: reduce){

    .tr-hero-img,
    .tr-hero-img.active,
    .tr-about-image img {
        transform: none !important;
        will-change: auto;
    }

    .tr-custom-section {
        background-position: center center;
    }



}@media (hover: none), (pointer: coarse){
    .tr-hero-img,
    .tr-hero-img.active,
    .tr-about-image img {
        transform: none;
        will-change: auto;
    }

    .tr-custom-section {
        background-position: center center;
    }



}





/* =========================================================
   CERTIFICATIONS — ALTERNATIVE 2026 CONCEPT
   ---------------------------------------------------------
   Optional future variant:
   A single horizontal trust rail with the heading on the left
   and three large certification numbers/items on the right.
   No cards, no shadows, no logos; one red accent line only.
   ========================================================= */

.tr-category-card img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .6s cubic-bezier(.2,.7,.2,1); }

.tr-category-card:hover img { transform:scale(1.045); }

/* Premium category card responsive sizing */
@media (max-width: 1050px) {
    .tr-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
    .tr-category-card { height:300px; }
}
@media (max-width: 767px) {
    .tr-category-card { height:270px; }
}
@media (max-width: 480px) {
    .tr-category-grid { grid-template-columns:1fr; }
    .tr-category-card { height:290px; }
}

/* Category-grid-only override; all global/site button styles remain untouched */
/* ONLY category card grid styles — do not affect other site buttons or sections */
#products .tr-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

#products .tr-category-card {
    position: relative;
    display: block;
    height: 340px;
    min-width: 0;
    overflow: hidden;
    isolation: isolate;
    border-radius: 12px;
    background: #111;
    box-shadow: 0 10px 28px rgba(9, 12, 16, .12);
    color: #fff;
    text-decoration: none;
}

#products .tr-category-card > img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .6s cubic-bezier(.2, .7, .2, 1);
}

#products .tr-category-card:hover > img,
#products .tr-category-card:focus-visible > img {
    transform: scale(1.045);
}

#products .tr-category-card .tr-category-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, .78) 0%,
        rgba(0, 0, 0, .38) 36%,
        rgba(0, 0, 0, .14) 72%,
        rgba(0, 0, 0, .08) 100%
    );
}

#products .tr-category-card .tr-category-content {
    position: absolute;
    z-index: 2;
    left: 20px;
    right: 58px;
    bottom: 22px;
    color: #fff;
}

#products .tr-category-card .tr-category-content h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 19px;
    line-height: 1.16;
    font-weight: 800;
    letter-spacing: -.25px;
    text-transform: uppercase;
}

#products .tr-category-card .tr-category-content span {
    display: block;
    color: rgba(255, 255, 255, .84);
    font-size: 10px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 1.4px;
}

/* Arrow styling is limited to the category card; no background, shown on hover */
#products .tr-category-card .tr-category-arrow {
    position: absolute;
    right: 19px;
    bottom: 21px;
    z-index: 3;
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    color: #fff;
    font-size: 27px;
    line-height: 1;
    opacity: 0;
    visibility: hidden;
    transform: translate(-5px, 5px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}

#products .tr-category-card:hover .tr-category-arrow,
#products .tr-category-card:focus-visible .tr-category-arrow {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0);
}

@media (max-width: 1050px) {
    #products .tr-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
    #products .tr-category-card { height: 310px; }
}

@media (max-width: 767px) {
    #products .tr-category-grid { gap: 14px; }
    #products .tr-category-card {
        height: 270px;
        border-radius: 10px;
    }
    #products .tr-category-card .tr-category-content {
        left: 14px;
        right: 46px;
        bottom: 16px;
    }
    #products .tr-category-card .tr-category-content h3 { font-size: 16px; }
    #products .tr-category-card .tr-category-content span {
        font-size: 9px;
        letter-spacing: 1px;
    }
    /* On touch screens, there is no hover, so keep the arrow visible */
    #products .tr-category-card .tr-category-arrow {
        right: 13px;
        bottom: 15px;
        opacity: 1;
        visibility: visible;
        transform: none;
    }
}

@media (max-width: 480px) {
    #products .tr-category-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    #products .tr-category-card { height: 290px; }
}
