/* =========================================================
   HERO · CORTE CON LÁSER
========================================================= */

:root{
    --td-orange:#f28a1a;
    --td-orange-soft:#ff9d2e;

    --td-green:#2f9b57;
    --td-green-soft:#55c47f;

    --td-black:#171717;
}


/* =========================================================
   HERO
========================================================= */

.td-laser-hero{
    position:relative;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 76% 28%,
            rgba(242,138,26,.08),
            transparent 25%
        ),
        #fff;
}


.td-laser-hero__grid{
    position:absolute;
    inset:0;

    opacity:.23;

    pointer-events:none;

    background-image:
        linear-gradient(
            rgba(0,0,0,.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(0,0,0,.035) 1px,
            transparent 1px
        );

    background-size:42px 42px;

    mask-image:
        linear-gradient(
            to right,
            transparent,
            rgba(0,0,0,.75)
        );
}


.td-laser-hero__glow{
    position:absolute;

    right:5%;
    top:15%;

    width:300px;
    height:300px;

    border-radius:50%;

    background:
        rgba(242,138,26,.06);

    filter:blur(70px);
}


/* =========================================================
   INNER
========================================================= */

.td-laser-hero__inner{
    position:relative;
    z-index:2;

    width:min(1240px,100%);

    min-height:86vh;

    margin:0 auto;

    padding:
        clamp(105px,10vw,145px)
        24px
        clamp(75px,7vw,100px);

    display:grid;

    grid-template-columns:
        minmax(0,.9fr)
        minmax(520px,1.1fr);

    gap:
        clamp(50px,7vw,105px);

    align-items:center;
}


/* =========================================================
   CONTENIDO
========================================================= */

.td-laser-hero__content{
    max-width:660px;
}


.td-laser-hero__eyebrow{
    display:inline-flex;
    align-items:center;

    gap:12px;

    margin-bottom:24px;

    font-size:12px;
    font-weight:800;

    letter-spacing:.15em;
    text-transform:uppercase;

    color:#666;
}


.td-laser-hero__eyebrow > span{
    width:38px;
    height:3px;

    border-radius:99px;

    background:var(--td-orange);
}


.td-laser-hero h1{
    margin:0;

    font-size:
        clamp(52px,5.6vw,88px);

    line-height:.95;

    letter-spacing:-.055em;

    font-weight:500;

    color:var(--td-black);
}


.td-laser-hero h1 strong{
    display:block;

    margin-top:8px;

    font-weight:900;

    color:var(--td-orange);

    animation:
        tdLaserTitle
        .85s
        cubic-bezier(.2,.75,.2,1)
        both;
}


@keyframes tdLaserTitle{

    from{
        opacity:0;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


/* =========================================================
   TEXTO
========================================================= */

.td-laser-hero__lead{
    max-width:620px;

    margin:
        clamp(32px,3.5vw,44px)
        0
        0;

    font-size:
        clamp(18px,1.35vw,21px);

    line-height:1.75;

    color:#656565;
}


/* =========================================================
   ACCIONES
========================================================= */

.td-laser-hero__actions{
    display:flex;
    align-items:center;

    flex-wrap:wrap;

    gap:24px;

    margin-top:32px;
}


.td-laser-hero__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:16px;

    min-height:58px;

    padding:0 24px;

    border-radius:999px;

    background:#171717;

    color:#fff;

    text-decoration:none;

    font-size:15px;
    font-weight:800;

    transition:
        transform .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}


.td-laser-hero__button:hover{
    transform:translateY(-3px);

    background:var(--td-orange);

    box-shadow:
        0 18px 42px
        rgba(242,138,26,.22);
}


.td-laser-hero__button span:last-child{
    display:grid;
    place-items:center;

    width:28px;
    height:28px;

    border-radius:50%;

    background:
        rgba(255,255,255,.15);
}


.td-laser-hero__link{
    display:inline-flex;
    align-items:center;

    gap:8px;

    color:#555;

    text-decoration:none;

    font-size:14px;
    font-weight:700;
}


.td-laser-hero__link:hover{
    color:var(--td-green);
}


/* =========================================================
   MATERIALES
========================================================= */

.td-laser-hero__materials{
    display:flex;
    align-items:center;

    flex-wrap:wrap;

    gap:10px;

    margin-top:28px;

    font-size:10px;
    font-weight:800;

    letter-spacing:.08em;
    text-transform:uppercase;

    color:#8d8d8d;
}


.td-laser-hero__materials i{
    width:4px;
    height:4px;

    border-radius:50%;

    background:var(--td-green);
}


/* =========================================================
   VISUAL
========================================================= */

.td-laser-hero__visual{
    position:relative;

    min-height:560px;
}


/* =========================================================
   MÁQUINA
========================================================= */

.td-laser-machine{
    position:absolute;

    left:50%;
    top:50%;

    width:min(530px,90%);

    transform:translate(-50%,-50%);

    overflow:hidden;

    border-radius:24px;

    background:#181818;

    color:#fff;

    border:
        1px solid
        rgba(255,255,255,.07);

    box-shadow:
        0 36px 90px
        rgba(0,0,0,.20);

    animation:
        tdLaserMachineFloat
        7s
        ease-in-out
        infinite;
}


@keyframes tdLaserMachineFloat{

    0%,100%{
        transform:
            translate(-50%,-50%)
            translateY(0);
    }

    50%{
        transform:
            translate(-50%,-50%)
            translateY(-8px);
    }

}


/* =========================================================
   HEADER
========================================================= */

.td-laser-machine__header{
    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:17px 20px;

    border-bottom:
        1px solid
        rgba(255,255,255,.07);

    font-size:8px;

    letter-spacing:.12em;
}


.td-laser-machine__header div{
    display:flex;
    align-items:center;

    gap:8px;
}


.td-laser-machine__header div > span{
    width:7px;
    height:7px;

    border-radius:50%;

    background:var(--td-orange);

    box-shadow:
        0 0 0 5px
        rgba(242,138,26,.08);
}


.td-laser-machine__header small{
    color:
        rgba(255,255,255,.35);
}


/* =========================================================
   BED
========================================================= */

.td-laser-bed{
    position:relative;

    height:390px;

    overflow:hidden;

    background:#222;
}


.td-laser-bed__grid{
    position:absolute;
    inset:0;

    opacity:.25;

    background-image:
        linear-gradient(
            rgba(255,255,255,.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.08) 1px,
            transparent 1px
        );

    background-size:18px 18px;
}


/* =========================================================
   MATERIAL
========================================================= */

.td-laser-material{
    position:absolute;

    left:50%;
    top:50%;

    width:78%;
    height:72%;

    transform:
        translate(-50%,-50%)
        rotate(-2deg);

    border-radius:8px;

    background:
        linear-gradient(
            135deg,
            #b38a5b,
            #8c673f
        );

    box-shadow:
        0 20px 50px
        rgba(0,0,0,.28);
}


.td-laser-material::after{
    content:"";

    position:absolute;
    inset:0;

    opacity:.12;

    background:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 5px,
            rgba(255,255,255,.16) 6px
        );
}


.td-laser-material__label{
    position:absolute;

    left:14px;
    top:12px;

    z-index:3;

    font-size:7px;
    font-weight:800;

    letter-spacing:.12em;
    text-transform:uppercase;

    color:
        rgba(255,255,255,.60);
}


/* =========================================================
   SVG
========================================================= */

.td-laser-path{
    position:absolute;

    z-index:4;

    inset:0;

    width:100%;
    height:100%;
}


.td-laser-path__guide{
    fill:none;

    stroke:
        rgba(255,255,255,.22);

    stroke-width:1;

    stroke-dasharray:5 5;
}


.td-laser-path__cut{
    fill:none;

    stroke:var(--td-orange);

    stroke-width:2;

    stroke-linecap:round;

    stroke-dasharray:900;
    stroke-dashoffset:900;

    filter:
        drop-shadow(
            0 0 4px
            rgba(242,138,26,.8)
        );

    animation:
        tdLaserCut
        7s
        ease-in-out
        infinite;
}


@keyframes tdLaserCut{

    0%{
        stroke-dashoffset:900;
    }

    65%{
        stroke-dashoffset:0;
    }

    100%{
        stroke-dashoffset:0;
    }

}


/* =========================================================
   CABEZAL
========================================================= */

.td-laser-head{
    position:absolute;

    z-index:8;

    left:22%;
    top:30%;

    width:34px;
    height:70px;

    animation:
        tdLaserHeadMove
        7s
        ease-in-out
        infinite;
}


@keyframes tdLaserHeadMove{

    0%{
        transform:
            translate(0,80px);
    }

    25%{
        transform:
            translate(80px,-20px);
    }

    50%{
        transform:
            translate(185px,20px);
    }

    75%{
        transform:
            translate(120px,105px);
    }

    100%{
        transform:
            translate(0,80px);
    }

}


.td-laser-head__body{
    position:absolute;

    left:50%;
    top:0;

    width:28px;
    height:38px;

    transform:translateX(-50%);

    border-radius:
        5px
        5px
        10px
        10px;

    background:
        linear-gradient(
            #3d3d3d,
            #111
        );

    border:
        1px solid
        rgba(255,255,255,.12);
}


.td-laser-head__beam{
    position:absolute;

    left:50%;
    top:34px;

    width:1px;
    height:31px;

    transform:translateX(-50%);

    background:
        linear-gradient(
            var(--td-orange),
            rgba(242,138,26,.15)
        );

    box-shadow:
        0 0 7px
        rgba(242,138,26,.9);
}


.td-laser-head__spark{
    position:absolute;

    left:50%;
    bottom:2px;

    width:8px;
    height:8px;

    transform:translateX(-50%);

    border-radius:50%;

    background:#fff;

    box-shadow:
        0 0 10px 3px
        var(--td-orange);

    animation:
        tdLaserSpark
        .35s
        ease-in-out
        infinite alternate;
}


@keyframes tdLaserSpark{

    to{
        transform:
            translateX(-50%)
            scale(.55);

        opacity:.65;
    }

}


/* =========================================================
   HUD
========================================================= */

.td-laser-bed__hud{
    position:absolute;

    z-index:10;

    padding:8px 10px;

    border-radius:9px;

    background:
        rgba(0,0,0,.42);

    backdrop-filter:blur(5px);
}


.td-laser-bed__hud small,
.td-laser-bed__hud strong{
    display:block;
}


.td-laser-bed__hud small{
    margin-bottom:3px;

    font-size:6px;

    color:
        rgba(255,255,255,.40);
}


.td-laser-bed__hud strong{
    font-size:9px;
}


.td-laser-bed__hud--left{
    left:14px;
    bottom:14px;
}


.td-laser-bed__hud--right{
    right:14px;
    bottom:14px;
}


/* =========================================================
   FOOTER MACHINE
========================================================= */

.td-laser-machine__footer{
    display:grid;

    grid-template-columns:
        1fr auto;

    gap:20px;

    align-items:center;

    padding:16px 20px;
}


.td-laser-machine__footer span{
    display:block;

    margin-bottom:7px;

    font-size:8px;

    color:
        rgba(255,255,255,.50);
}


.td-laser-progress{
    height:3px;

    overflow:hidden;

    border-radius:99px;

    background:
        rgba(255,255,255,.08);
}


.td-laser-progress i{
    display:block;

    width:76%;
    height:100%;

    border-radius:inherit;

    background:
        linear-gradient(
            90deg,
            var(--td-orange),
            var(--td-green)
        );

    animation:
        tdLaserProgress
        7s
        ease-in-out
        infinite;
}


@keyframes tdLaserProgress{

    0%{
        width:0;
    }

    65%,
    100%{
        width:100%;
    }

}


.td-laser-machine__footer > strong{
    font-size:18px;

    color:var(--td-orange);
}


/* =========================================================
   FLOATS
========================================================= */

.td-laser-float{
    position:absolute;

    z-index:12;

    display:flex;
    align-items:center;

    gap:10px;

    padding:11px 14px;

    border-radius:14px;

    background:#fff;

    border:
        1px solid
        rgba(0,0,0,.06);

    box-shadow:
        0 16px 36px
        rgba(0,0,0,.10);

    animation:
        tdLaserFloat
        6s
        ease-in-out
        infinite;
}


.td-laser-float > span{
    display:grid;
    place-items:center;

    width:34px;
    height:34px;

    border-radius:10px;

    background:#f3f3f1;

    color:var(--td-orange);

    font-size:10px;
    font-weight:900;
}


.td-laser-float strong,
.td-laser-float small{
    display:block;
}


.td-laser-float strong{
    font-size:10px;

    color:#333;
}


.td-laser-float small{
    margin-top:2px;

    font-size:7px;

    color:#999;
}


.td-laser-float--one{
    left:0;
    top:11%;
}


.td-laser-float--two{
    right:0;
    top:17%;

    animation-delay:.8s;
}


.td-laser-float--three{
    right:3%;
    bottom:6%;

    animation-delay:1.5s;
}


.td-laser-float--three > span{
    color:var(--td-green);
}


@keyframes tdLaserFloat{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-8px);
    }

}


/* =========================================================
   VIDEO
========================================================= */

.td-laser-video{
    position:relative;
    z-index:3;

    padding:
        0
        24px
        clamp(75px,8vw,115px);
}


.td-laser-video__inner{
    width:min(1180px,100%);

    margin:0 auto;

    padding:
        clamp(32px,4vw,48px);

    border-radius:30px;

    background:#171717;

    color:#fff;

    display:grid;

    grid-template-columns:
        minmax(250px,.65fr)
        minmax(0,1.35fr);

    gap:
        clamp(30px,5vw,65px);

    align-items:center;
}


.td-laser-video__intro > span{
    display:block;

    margin-bottom:12px;

    font-size:11px;
    font-weight:800;

    letter-spacing:.15em;
    text-transform:uppercase;

    color:var(--td-orange);
}


.td-laser-video__intro h2{
    margin:0;

    font-size:
        clamp(34px,4vw,54px);

    line-height:.98;

    letter-spacing:-.045em;

    font-weight:500;
}


.td-laser-video__intro h2 strong{
    display:block;

    font-weight:900;
}


.td-laser-video__frame{
    position:relative;

    aspect-ratio:16 / 9;

    overflow:hidden;

    border-radius:18px;

    background:#000;

    box-shadow:
        0 24px 60px
        rgba(0,0,0,.25);
}


.td-laser-video__frame iframe{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    border:0;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1050px){

    .td-laser-hero__inner{
        min-height:auto;

        grid-template-columns:1fr;

        gap:60px;
    }


    .td-laser-hero__visual{
        width:min(700px,100%);

        min-height:540px;

        margin:0 auto;
    }

}


@media (max-width:800px){

    .td-laser-video__inner{
        grid-template-columns:1fr;
    }

}


@media (max-width:700px){

    .td-laser-hero__inner{
        padding:
            95px
            20px
            60px;
    }


    .td-laser-hero h1{
        font-size:
            clamp(46px,12.5vw,68px);
    }


    .td-laser-hero__lead{
        font-size:17px;
    }


    .td-laser-hero__actions{
        flex-direction:column;
        align-items:flex-start;

        gap:18px;
    }


    .td-laser-hero__visual{
        min-height:500px;

        transform:scale(.88);

        transform-origin:center top;

        margin-bottom:-55px;
    }


    .td-laser-video{
        padding:
            0
            20px
            70px;
    }

}


@media (max-width:520px){

    .td-laser-hero__visual{
        width:122%;
        left:-11%;

        transform:scale(.74);

        margin-bottom:-120px;
    }


    .td-laser-video__inner{
        padding:24px 20px;

        border-radius:22px;
    }

}
/* =========================================================
   BLOQUE 02 · CORTE CON LÁSER
========================================================= */

.td-laser-services{
    position:relative;
    overflow:hidden;

    padding:
        clamp(75px,8vw,115px)
        24px;

    background:#f8f8f6;
}


.td-laser-services__inner{
    width:min(1180px,100%);
    margin:0 auto;
}


/* =========================================================
   INTRO
========================================================= */

.td-laser-services__intro{
    display:grid;

    grid-template-columns:
        minmax(0,.9fr)
        minmax(0,1.1fr);

    gap:
        clamp(45px,7vw,105px);

    align-items:start;
}


.td-laser-services__eyebrow{
    margin-bottom:17px;

    font-size:12px;
    font-weight:800;

    letter-spacing:.15em;
    text-transform:uppercase;

    color:var(--td-orange);
}


.td-laser-services__intro h2{
    max-width:650px;

    margin:0;

    font-size:
        clamp(42px,4.8vw,70px);

    line-height:.98;

    letter-spacing:-.052em;

    font-weight:500;

    color:#171717;
}


.td-laser-services__intro h2 strong{
    display:block;

    font-weight:900;
}


.td-laser-services__intro-copy p{
    margin:0 0 20px;

    font-size:
        clamp(17px,1.25vw,20px);

    line-height:1.8;

    color:#666;
}


.td-laser-services__intro-copy p:last-child{
    margin-bottom:0;
}


/* =========================================================
   TICOLASER
========================================================= */

.td-laser-brand{
    position:relative;

    display:grid;

    grid-template-columns:
        minmax(0,.9fr)
        minmax(440px,1.1fr);

    gap:
        clamp(45px,7vw,90px);

    align-items:center;

    margin-top:
        clamp(55px,6vw,85px);

    padding:
        clamp(38px,5vw,65px);

    overflow:hidden;

    border-radius:32px;

    background:#171717;

    color:#fff;
}


.td-laser-brand::before{
    content:"";

    position:absolute;

    width:380px;
    height:380px;

    right:-150px;
    top:-160px;

    border-radius:50%;

    background:
        rgba(242,138,26,.08);

    border:
        1px solid
        rgba(242,138,26,.13);
}


/* =========================================================
   LOGO TICOLASER
========================================================= */

.td-laser-brand__eyebrow{
    display:block;

    margin-bottom:24px;

    font-size:10px;
    font-weight:800;

    letter-spacing:.15em;
    text-transform:uppercase;

    color:var(--td-orange);
}


.td-laser-brand__logo{
    width:min(290px,80%);

    margin-bottom:32px;

    padding:17px 20px;

    border-radius:14px;

    background:#fff;
}


.td-laser-brand__logo img{
    display:block;

    width:100%;
    height:auto;
}


.td-laser-brand h3{
    margin:0;

    font-size:
        clamp(34px,4vw,56px);

    line-height:.98;

    letter-spacing:-.045em;

    font-weight:500;
}


.td-laser-brand h3 strong{
    display:block;

    font-weight:900;

    color:var(--td-orange);
}


.td-laser-brand__content p{
    max-width:570px;

    margin:22px 0 0;

    font-size:15px;
    line-height:1.75;

    color:
        rgba(255,255,255,.62);
}


/* =========================================================
   BOTÓN
========================================================= */

.td-laser-brand__button{
    display:inline-flex;
    align-items:center;

    gap:16px;

    min-height:56px;

    margin-top:28px;

    padding:0 22px;

    border-radius:999px;

    background:var(--td-orange);

    color:#fff;

    text-decoration:none;

    font-size:13px;
    font-weight:800;

    transition:
        transform .3s ease,
        background .3s ease;
}


.td-laser-brand__button:hover{
    transform:translateY(-3px);

    background:var(--td-green);
}


.td-laser-brand__button span:last-child{
    display:grid;
    place-items:center;

    width:28px;
    height:28px;

    border-radius:50%;

    background:
        rgba(255,255,255,.14);
}


/* =========================================================
   VISUAL TICOLASER
========================================================= */

.td-laser-brand__visual{
    position:relative;

    min-height:440px;
}


.td-laser-brand__orbit{
    position:absolute;

    left:50%;
    top:50%;

    width:310px;
    height:310px;

    transform:translate(-50%,-50%);

    border-radius:50%;

    border:
        1px dashed
        rgba(255,255,255,.15);

    animation:
        tdLaserOrbit
        30s
        linear
        infinite;
}


.td-laser-brand__orbit::before{
    content:"";

    position:absolute;

    inset:55px;

    border-radius:50%;

    border:
        1px solid
        rgba(242,138,26,.13);
}


@keyframes tdLaserOrbit{

    to{
        transform:
            translate(-50%,-50%)
            rotate(360deg);
    }

}


/* =========================================================
   CENTRO
========================================================= */

.td-laser-brand__center{
    position:absolute;

    left:50%;
    top:50%;

    width:185px;
    height:185px;

    transform:translate(-50%,-50%);

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:
        rgba(255,255,255,.055);

    border:
        1px solid
        rgba(255,255,255,.09);

    backdrop-filter:blur(10px);
}


.td-laser-brand__center span{
    font-size:8px;
    font-weight:800;

    letter-spacing:.16em;

    color:
        rgba(255,255,255,.40);
}


.td-laser-brand__center strong{
    font-size:25px;

    letter-spacing:.05em;

    color:var(--td-orange);
}


.td-laser-brand__center i{
    width:1px;
    height:18px;

    margin:7px 0;

    background:
        rgba(255,255,255,.15);
}


/* =========================================================
   PRODUCTOS FLOTANTES
========================================================= */

.td-laser-product{
    position:absolute;
    z-index:3;

    display:flex;
    align-items:center;

    gap:10px;

    min-width:150px;

    padding:12px 14px;

    border-radius:13px;

    background:
        rgba(255,255,255,.07);

    border:
        1px solid
        rgba(255,255,255,.09);

    backdrop-filter:blur(10px);

    animation:
        tdLaserProductFloat
        6s
        ease-in-out
        infinite;
}


.td-laser-product > span{
    display:grid;
    place-items:center;

    width:32px;
    height:32px;

    flex:0 0 auto;

    border-radius:9px;

    background:
        rgba(242,138,26,.12);

    color:var(--td-orange);

    font-size:9px;
    font-weight:900;
}


.td-laser-product strong,
.td-laser-product small{
    display:block;
}


.td-laser-product strong{
    font-size:10px;
}


.td-laser-product small{
    margin-top:2px;

    font-size:7px;

    color:
        rgba(255,255,255,.38);
}


.td-laser-product--one{
    left:0;
    top:12%;
}


.td-laser-product--two{
    right:0;
    top:22%;

    animation-delay:.7s;
}


.td-laser-product--three{
    left:2%;
    bottom:15%;

    animation-delay:1.4s;
}


.td-laser-product--four{
    right:1%;
    bottom:8%;

    animation-delay:2s;
}


@keyframes tdLaserProductFloat{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-8px);
    }

}


/* =========================================================
   APLICACIONES
========================================================= */

.td-laser-apps{
    margin-top:
        clamp(65px,7vw,100px);
}


.td-laser-apps__heading{
    max-width:760px;
}


.td-laser-apps__heading > span{
    display:block;

    margin-bottom:12px;

    font-size:11px;
    font-weight:800;

    letter-spacing:.15em;
    text-transform:uppercase;

    color:var(--td-green);
}


.td-laser-apps__heading h3{
    margin:0;

    font-size:
        clamp(38px,4.5vw,62px);

    line-height:.98;

    letter-spacing:-.05em;

    font-weight:500;

    color:#171717;
}


.td-laser-apps__heading h3 strong{
    display:block;

    font-weight:900;
}


/* =========================================================
   GRID APLICACIONES
========================================================= */

.td-laser-apps__grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:16px;

    margin-top:38px;
}


.td-laser-app{
    position:relative;

    min-height:315px;

    padding:27px;

    overflow:hidden;

    border-radius:22px;

    background:#fff;

    border:
        1px solid
        rgba(0,0,0,.06);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.td-laser-app:hover{
    transform:translateY(-6px);

    box-shadow:
        0 22px 50px
        rgba(0,0,0,.07);
}


.td-laser-app__number{
    display:block;

    margin-bottom:42px;

    font-size:10px;
    font-weight:900;

    color:var(--td-orange);
}


.td-laser-app h4{
    margin:0;

    font-size:
        clamp(26px,2.5vw,35px);

    line-height:1;

    letter-spacing:-.04em;

    font-weight:500;

    color:#171717;
}


.td-laser-app h4 strong{
    display:block;

    font-weight:900;
}


.td-laser-app p{
    margin:18px 0 0;

    font-size:14px;
    line-height:1.7;

    color:#747474;
}


.td-laser-app__line{
    position:absolute;

    left:27px;
    right:27px;
    bottom:0;

    height:3px;

    transform:scaleX(0);

    transform-origin:left;

    background:
        linear-gradient(
            90deg,
            var(--td-orange),
            var(--td-green)
        );

    transition:
        transform .35s ease;
}


.td-laser-app:hover
.td-laser-app__line{
    transform:scaleX(1);
}


/* =========================================================
   FEATURED
========================================================= */

.td-laser-app--featured{
    background:var(--td-orange);
}


.td-laser-app--featured
.td-laser-app__number,
.td-laser-app--featured h4,
.td-laser-app--featured p{
    color:#fff;
}


.td-laser-app--featured p{
    color:
        rgba(255,255,255,.78);
}


.td-laser-app--featured a{
    display:inline-block;

    margin-top:20px;

    color:#fff;

    font-size:12px;
    font-weight:900;

    text-decoration:none;
}


/* =========================================================
   MATERIALES
========================================================= */

.td-laser-materials{
    display:grid;

    grid-template-columns:
        .85fr
        1.15fr;

    gap:
        clamp(40px,6vw,85px);

    align-items:center;

    margin-top:
        clamp(60px,7vw,95px);

    padding-top:
        clamp(45px,5vw,70px);

    border-top:
        1px solid
        rgba(0,0,0,.08);
}


.td-laser-materials__content > span{
    display:block;

    margin-bottom:12px;

    font-size:11px;
    font-weight:800;

    letter-spacing:.15em;
    text-transform:uppercase;

    color:var(--td-orange);
}


.td-laser-materials h3{
    margin:0;

    font-size:
        clamp(34px,3.8vw,52px);

    line-height:1;

    letter-spacing:-.045em;

    font-weight:500;

    color:#171717;
}


.td-laser-materials h3 strong{
    display:block;

    font-weight:900;
}


.td-laser-materials__content p{
    margin:22px 0 0;

    font-size:15px;
    line-height:1.75;

    color:#707070;
}


/* =========================================================
   LISTA MATERIALES
========================================================= */

.td-laser-materials__list{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:10px;
}


.td-laser-materials__list div{
    display:flex;
    align-items:center;

    gap:13px;

    padding:17px;

    border-radius:14px;

    background:#fff;

    border:
        1px solid
        rgba(0,0,0,.06);
}


.td-laser-materials__list span{
    display:grid;
    place-items:center;

    width:30px;
    height:30px;

    flex:0 0 auto;

    border-radius:50%;

    background:
        rgba(242,138,26,.09);

    color:var(--td-orange);

    font-size:8px;
    font-weight:900;
}


.td-laser-materials__list strong{
    font-size:12px;

    color:#444;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:950px){

    .td-laser-services__intro,
    .td-laser-brand,
    .td-laser-materials{
        grid-template-columns:1fr;
    }


    .td-laser-brand__visual{
        width:min(600px,100%);

        margin:0 auto;
    }


    .td-laser-apps__grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media (max-width:650px){

    .td-laser-services{
        padding:
            65px
            20px;
    }


    .td-laser-brand{
        padding:
            30px
            22px;

        border-radius:24px;
    }


    .td-laser-brand__visual{
        min-height:400px;

        transform:scale(.88);

        margin:
            -20px
            0;
    }


    .td-laser-apps__grid{
        grid-template-columns:1fr;
    }


    .td-laser-app{
        min-height:auto;
    }


    .td-laser-materials__list{
        grid-template-columns:1fr;
    }

}
/* =========================================================
   BLOQUE 03 · CTA CORTE CON LÁSER
========================================================= */

.td-laser-cta{
    position:relative;
    overflow:hidden;

    padding:
        clamp(80px,8vw,120px)
        24px;

    background:#171717;

    color:#fff;
}


/* =========================================================
   GRID
========================================================= */

.td-laser-cta__grid{
    position:absolute;
    inset:0;

    opacity:.10;

    background-image:
        linear-gradient(
            rgba(255,255,255,.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.08) 1px,
            transparent 1px
        );

    background-size:46px 46px;
}


/* =========================================================
   INNER
========================================================= */

.td-laser-cta__inner{
    position:relative;
    z-index:2;

    width:min(1120px,100%);
    margin:0 auto;

    text-align:center;
}


/* =========================================================
   TEXTO
========================================================= */

.td-laser-cta__eyebrow{
    margin-bottom:17px;

    font-size:12px;
    font-weight:800;

    letter-spacing:.16em;
    text-transform:uppercase;

    color:var(--td-orange);
}


.td-laser-cta h2{
    max-width:900px;

    margin:0 auto;

    font-size:
        clamp(46px,5.8vw,82px);

    line-height:.96;

    letter-spacing:-.055em;

    font-weight:500;

    color:#fff;
}


.td-laser-cta h2 strong{
    display:block;

    margin-top:7px;

    font-weight:900;

    color:var(--td-orange);
}


.td-laser-cta > .td-laser-cta__inner > p{
    max-width:760px;

    margin:
        30px
        auto
        0;

    font-size:
        clamp(17px,1.35vw,20px);

    line-height:1.75;

    color:
        rgba(255,255,255,.68);
}


/* =========================================================
   PROCESO
========================================================= */

.td-laser-cta__process{
    display:grid;

    grid-template-columns:
        1fr auto
        1fr auto
        1fr auto
        1fr auto
        1fr;

    gap:14px;

    align-items:center;

    margin-top:
        clamp(42px,5vw,65px);
}


.td-laser-cta__step{
    min-height:165px;

    padding:20px 14px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    background:
        rgba(255,255,255,.05);

    border:
        1px solid
        rgba(255,255,255,.07);

    transition:
        transform .3s ease,
        background .3s ease,
        border-color .3s ease;
}


.td-laser-cta__step:hover{
    transform:translateY(-5px);

    background:
        rgba(255,255,255,.075);

    border-color:
        rgba(242,138,26,.22);
}


.td-laser-cta__step > span{
    display:grid;
    place-items:center;

    width:36px;
    height:36px;

    margin-bottom:15px;

    border-radius:50%;

    background:
        rgba(242,138,26,.12);

    color:var(--td-orange);

    font-size:9px;
    font-weight:900;
}


.td-laser-cta__step strong{
    font-size:13px;
    font-weight:800;

    color:#fff;
}


.td-laser-cta__step small{
    display:block;

    margin-top:8px;

    font-size:9px;
    line-height:1.5;

    color:
        rgba(255,255,255,.38);
}


.td-laser-cta__process > i{
    position:relative;

    width:28px;
    height:1px;

    background:
        rgba(255,255,255,.13);
}


.td-laser-cta__process > i::after{
    content:"";

    position:absolute;

    right:-1px;
    top:50%;

    width:5px;
    height:5px;

    transform:
        translateY(-50%)
        rotate(45deg);

    border-top:
        1px solid
        rgba(255,255,255,.30);

    border-right:
        1px solid
        rgba(255,255,255,.30);
}


/* =========================================================
   ACTIONS
========================================================= */

.td-laser-cta__actions{
    display:flex;
    align-items:center;
    justify-content:center;

    flex-wrap:wrap;

    gap:22px;

    margin-top:38px;
}


.td-laser-cta__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:17px;

    min-height:60px;

    padding:
        0
        26px;

    border-radius:999px;

    background:var(--td-orange);

    color:#fff;

    text-decoration:none;

    font-size:15px;
    font-weight:800;

    box-shadow:
        0 20px 48px
        rgba(242,138,26,.18);

    transition:
        transform .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}


.td-laser-cta__button:hover{
    transform:translateY(-4px);

    background:var(--td-green);

    box-shadow:
        0 24px 55px
        rgba(47,155,87,.22);
}


.td-laser-cta__button span:last-child{
    display:grid;
    place-items:center;

    width:30px;
    height:30px;

    border-radius:50%;

    background:
        rgba(255,255,255,.15);
}


.td-laser-cta__secondary{
    display:inline-flex;
    align-items:center;

    min-height:50px;

    color:
        rgba(255,255,255,.58);

    text-decoration:none;

    font-size:13px;
    font-weight:700;

    transition:
        color .25s ease,
        transform .25s ease;
}


.td-laser-cta__secondary:hover{
    color:#fff;

    transform:translateY(-2px);
}


/* =========================================================
   META
========================================================= */

.td-laser-cta__meta{
    display:flex;
    align-items:center;
    justify-content:center;

    flex-wrap:wrap;

    gap:11px;

    margin-top:30px;

    font-size:10px;
    font-weight:700;

    letter-spacing:.1em;
    text-transform:uppercase;

    color:
        rgba(255,255,255,.35);
}


.td-laser-cta__meta span{
    width:4px;
    height:4px;

    border-radius:50%;

    background:var(--td-green);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:950px){

    .td-laser-cta__process{
        grid-template-columns:
            repeat(5,1fr);

        gap:10px;
    }

    .td-laser-cta__process > i{
        display:none;
    }

}


@media (max-width:720px){

    .td-laser-cta__process{
        grid-template-columns:1fr;
    }

    .td-laser-cta__step{
        min-height:auto;

        padding:20px;
    }

}


@media (max-width:600px){

    .td-laser-cta{
        padding:
            70px
            20px;
    }

    .td-laser-cta__actions{
        flex-direction:column;

        gap:14px;
    }

    .td-laser-cta__button{
        width:100%;
        max-width:340px;
    }

}