:root{
    --hm-bg:#040509;
    --hm-panel:rgba(12,16,24,.72);
    --hm-panel2:rgba(255,255,255,.075);
    --hm-line:rgba(255,255,255,.14);
    --hm-text:#f5f7fb;
    --hm-soft:#aab4c4;
    --hm-orange:#ff6a00;
    --hm-yellow:#ffc400;
    --hm-red:#ff2e2e;
    --hm-blue:#00d5ff;
    --hm-max:1240px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    background:#040509;
    color:var(--hm-text);
    overflow-x:hidden;
}
a{text-decoration:none;color:inherit;}

.hm-noise{
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:9999;
    opacity:.055;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.hm-top{
    position:fixed;
    top:18px;
    left:0;
    width:100%;
    z-index:80;
}
.hm-nav{
    width:var(--hm-max);
    max-width:calc(100% - 32px);
    margin:0 auto;
    min-height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:12px 16px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:24px;
    background:linear-gradient(180deg,rgba(10,13,20,.82),rgba(5,7,12,.62));
    backdrop-filter:blur(22px);
    box-shadow:0 25px 90px rgba(0,0,0,.46);
}
.hm-brand{
    display:flex;
    align-items:center;
    gap:13px;
    min-width:245px;
}
.hm-brand-icon{
    width:54px;
    height:54px;
    border-radius:18px;
    position:relative;
    background:radial-gradient(circle at 30% 20%,#fff3bf 0,#ffb000 23%,#ff5200 62%,#2b0700 100%);
    box-shadow:0 0 34px rgba(255,106,0,.52), inset 0 0 14px rgba(255,255,255,.32);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#111;
    font-size:19px;
    font-weight:900;
}
.hm-brand-icon:after{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:22px;
    border:1px solid rgba(255,106,0,.36);
}
.hm-brand strong{
    display:block;
    font-size:20px;
    letter-spacing:.7px;
}
.hm-brand span{
    display:block;
    color:var(--hm-soft);
    font-size:12px;
    margin-top:4px;
}

.hm-menu{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.hm-menu a{
    position:relative;
    overflow:hidden;
    padding:13px 16px;
    border-radius:16px;
    font-size:14px;
    color:#dce5f2;
    border:1px solid transparent;
    transition:.28s ease;
}
.hm-menu a:before{
    content:"";
    position:absolute;
    left:-80%;
    top:0;
    width:70%;
    height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
    transform:skewX(-20deg);
    transition:.45s;
}
.hm-menu a:hover{
    color:#111;
    background:linear-gradient(135deg,var(--hm-orange),var(--hm-yellow));
    box-shadow:0 14px 35px rgba(255,106,0,.34);
    transform:translateY(-3px);
}
.hm-menu a:hover:before{left:120%;}
.hm-menu .hm-quote{
    color:#111;
    background:linear-gradient(135deg,var(--hm-orange),var(--hm-yellow));
    box-shadow:0 0 28px rgba(255,106,0,.32);
    font-weight:800;
}

.hm-hero{
    position:relative;
    min-height:100vh;
    overflow:hidden;
    background:#030407;
    padding-bottom:80px;
}
.hm-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transform:scale(1.08);
    transition:opacity 1s ease, transform 8s ease;
    background-position:center;
    background-size:cover;
}
.hm-slide.active{
    opacity:1;
    transform:scale(1.02);
}
.hm-slide:after{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 75% 40%,rgba(255,106,0,.18),transparent 28%),
        linear-gradient(90deg,rgba(3,4,7,.98) 0%,rgba(3,4,7,.86) 38%,rgba(3,4,7,.30) 100%),
        linear-gradient(0deg,rgba(3,4,7,.92) 0%,transparent 34%);
}
.hm-laser-line{
    position:absolute;
    left:-10%;
    top:57%;
    width:120%;
    height:1px;
    z-index:3;
    background:linear-gradient(90deg,transparent,rgba(255,106,0,.08),rgba(255,196,0,.85),rgba(255,106,0,.08),transparent);
    box-shadow:0 0 26px rgba(255,106,0,.8);
    transform:rotate(-7deg);
    animation:hmLaser 3.6s ease-in-out infinite;
}
@keyframes hmLaser{
    0%,100%{opacity:.25;filter:blur(.4px);}
    50%{opacity:1;filter:blur(0);}
}
.hm-sparks{
    position:absolute;
    right:8%;
    bottom:16%;
    width:370px;
    height:370px;
    z-index:4;
    pointer-events:none;
    background:radial-gradient(circle,rgba(255,196,0,.8) 0,rgba(255,106,0,.32) 10%,transparent 52%);
    filter:blur(2px);
    opacity:.55;
    animation:hmPulse 2.4s infinite;
}
@keyframes hmPulse{50%{transform:scale(1.12);opacity:.82;}}

.hm-hero-inner{
    position:relative;
    z-index:10;
    width:var(--hm-max);
    max-width:calc(100% - 32px);
    margin:0 auto;
    min-height:100vh;
    display:grid;
    grid-template-columns:1fr 430px;
    align-items:center;
    gap:54px;
    padding-top:135px;
    padding-bottom:80px;
}
.hm-hero-copy{
    max-width:760px;
    padding:26px 0;
}
.hm-kicker{
    display:inline-flex;
    gap:10px;
    align-items:center;
    padding:10px 15px;
    border-radius:999px;
    border:1px solid rgba(255,106,0,.42);
    color:#ffd4ae;
    background:rgba(255,106,0,.09);
    box-shadow:0 0 38px rgba(255,106,0,.12);
    font-size:13px;
    letter-spacing:.5px;
}
.hm-kicker i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--hm-yellow);
    box-shadow:0 0 18px var(--hm-yellow);
}
.hm-title{
    margin:24px 0 22px;
    font-size:clamp(42px,6.8vw,94px);
    line-height:.88;
    letter-spacing:-4px;
    max-width:760px;
    text-transform:uppercase;
}
.hm-title span{
    color:transparent;
    background:linear-gradient(135deg,#fff 0,#ffcf71 24%,#ff6a00 72%,#ff2e2e 100%);
    -webkit-background-clip:text;
    background-clip:text;
    text-shadow:0 0 40px rgba(255,106,0,.18);
}
.hm-desc{
    max-width:650px;
    font-size:18px;
    line-height:1.72;
    color:#c5cfdd;
    margin:0 0 34px;
}
.hm-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    align-items:center;
}
.hm-btn{
    min-height:54px;
    padding:0 23px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:17px;
    border:1px solid rgba(255,255,255,.15);
    color:#fff;
    background:rgba(255,255,255,.07);
    transition:.28s;
    font-weight:800;
}
.hm-btn-main{
    color:#111;
    border:0;
    background:linear-gradient(135deg,var(--hm-orange),var(--hm-yellow));
    box-shadow:0 20px 52px rgba(255,106,0,.36);
}
.hm-btn:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(0,0,0,.42);}

.hm-hero-card{
    justify-self:end;
    width:420px;
    max-width:100%;
    border-radius:34px;
    padding:18px;
    background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.055));
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(18px);
    box-shadow:0 30px 110px rgba(0,0,0,.55);
    transform:rotate(1.2deg);
}
.hm-machine-photo{
    height:430px;
    border-radius:26px;
    background:url('https://source.unsplash.com/900x1100/?cnc,laser,cutting,sparks') center/cover no-repeat;
    position:relative;
    overflow:hidden;
}
.hm-machine-photo:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 32%,rgba(0,0,0,.82));
}
.hm-card-text{
    position:absolute;
    left:22px;
    right:22px;
    bottom:22px;
    z-index:2;
    padding:18px;
    border-radius:20px;
    background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.62));
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(8px);
}
.hm-card-text b{
    font-size:22px;
    display:block;
    line-height:1.15;
}

.hm-card-text span{
    color:#cbd5e1;
    line-height:1.45;
    display:block;
    margin-top:8px;
    font-size:14px;
}

.hm-floating{
    position:absolute;
    right:18px;
    top:18px;
    z-index:5;
    width:158px;
    padding:15px;
    border-radius:20px;
    background:rgba(3,4,7,.78);
    border:1px solid rgba(255,196,0,.28);
    backdrop-filter:blur(12px);
    box-shadow:0 18px 55px rgba(0,0,0,.42), 0 0 30px rgba(255,106,0,.18);
}
.hm-floating strong{
    display:block;
    font-size:34px;
    color:var(--hm-yellow);
}
.hm-floating span{font-size:12px;color:var(--hm-soft);line-height:1.45;display:block;margin-top:4px;}

.hm-bottom-strip{
    position:relative;
    z-index:12;
    width:var(--hm-max);
    max-width:calc(100% - 32px);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    padding:34px 0 70px;
    background:transparent;
}
.hm-strip-item{
    min-height:126px;
    padding:22px;
    border-radius:24px;
    background:linear-gradient(180deg,rgba(18,24,35,.86),rgba(7,9,14,.82));
    border:1px solid rgba(255,255,255,.13);
    backdrop-filter:blur(14px);
    transition:.28s;
    position:relative;
    overflow:hidden;
}
.hm-strip-item:before{
    content:"";
    position:absolute;
    right:-45px;
    top:-45px;
    width:105px;
    height:105px;
    border-radius:50%;
    background:rgba(255,106,0,.16);
    box-shadow:0 0 60px rgba(255,106,0,.22);
}
.hm-strip-item:hover{
    transform:translateY(-9px);
    border-color:rgba(255,106,0,.44);
    box-shadow:0 22px 60px rgba(0,0,0,.35);
}
.hm-strip-item b{display:block;font-size:18px;margin-bottom:9px;}
.hm-strip-item span{display:block;color:var(--hm-soft);font-size:14px;line-height:1.55;}

.hm-dots{
    position:absolute;
    left:50%;
    bottom:34px;
    transform:translateX(-50%);
    z-index:30;
    display:flex;
    gap:10px;
}
.hm-dot{
    width:42px;
    height:6px;
    border:0;
    border-radius:99px;
    background:rgba(255,255,255,.22);
    cursor:pointer;
    transition:.25s;
}
.hm-dot.active{
    width:74px;
    background:linear-gradient(90deg,var(--hm-orange),var(--hm-yellow));
    box-shadow:0 0 24px rgba(255,106,0,.55);
}

.hm-home-blocks{
    width:1280px;
    max-width:calc(100% - 30px);
    margin:0 auto;
    padding:90px 0;
}
.hm-section-head{
    max-width:760px;
    margin-bottom:38px;
}
.hm-section-head span,
.hm-about-left span,
.hm-project-content span{
    display:block;
    color:#ffcc00;
    font-size:13px;
    letter-spacing:2px;
    font-weight:800;
    margin-bottom:12px;
}
.hm-section-head h2,
.hm-about-left h2,
.hm-project-content h2{
    font-size:44px;
    line-height:1.05;
    letter-spacing:-1px;
    margin:0 0 16px;
}
.hm-section-head p,
.hm-about-left p,
.hm-project-content p{
    color:#aab3c2;
    line-height:1.7;
    font-size:16px;
}
.hm-service-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.hm-service-card{
    border-radius:28px;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
    border:1px solid rgba(255,255,255,.12);
    transition:.28s;
}
.hm-service-card:hover{
    transform:translateY(-10px);
    border-color:rgba(255,106,0,.45);
    box-shadow:0 28px 80px rgba(0,0,0,.45);
}
.hm-service-img{
    height:260px;
    background-size:cover;
    background-position:center;
    position:relative;
}
.hm-service-img:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));
}
.hm-service-body{padding:24px;}
.hm-service-body small{color:#ffcc00;font-weight:900;}
.hm-service-body h3{font-size:24px;margin:10px 0;}
.hm-service-body p{color:#aab3c2;line-height:1.6;}

.hm-about-preview{
    background:radial-gradient(circle at 20% 0,rgba(255,106,0,.18),transparent 32%),#080b11;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
}
.hm-about-wrap{
    width:1280px;
    max-width:calc(100% - 30px);
    margin:0 auto;
    padding:90px 0;
    display:grid;
    grid-template-columns:1fr 520px;
    gap:44px;
    align-items:center;
}
.hm-about-left p{margin-bottom:28px;}
.hm-stat-boxes{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}
.hm-stat-boxes div{
    min-height:150px;
    padding:26px;
    border-radius:26px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12);
}
.hm-stat-boxes b{
    display:block;
    font-size:42px;
    color:#ffcc00;
    margin-bottom:8px;
}
.hm-stat-boxes span{color:#c6cfdb;}

.hm-project-strip{
    width:1280px;
    max-width:calc(100% - 30px);
    margin:0 auto;
    padding:80px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}
.hm-project-content{max-width:720px;}
.hm-project-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.hm-action{
    min-height:52px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    font-weight:800;
    border:1px solid rgba(255,255,255,.14);
    transition:.28s;
}
.hm-action-main{
    color:#111;
    background:linear-gradient(135deg,#ff6a00,#ffcc00);
}
.hm-action-dark{
    color:#fff;
    background:rgba(255,255,255,.07);
}
.hm-action:hover{
    transform:translateY(-4px);
}

.hm-footer{
    border-top:1px solid rgba(255,255,255,.10);
    background:#030407;
    width:100%;
    padding:28px max(15px, calc((100% - 1280px) / 2));
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#aab3c2;
}
.hm-footer b{color:#fff;display:block;margin-bottom:4px;}
.hm-footer a{
    color:#111;
    background:linear-gradient(135deg,#ff6a00,#ffcc00);
    padding:12px 18px;
    border-radius:14px;
    font-weight:800;
}

@media(max-width:1050px){
    .hm-nav{align-items:flex-start;}
    .hm-hero-inner{
        grid-template-columns:1fr;
        padding-top:160px;
        padding-bottom:95px;
        gap:30px;
    }
    .hm-hero-card{justify-self:start;width:100%;max-width:520px;}
    .hm-bottom-strip{grid-template-columns:repeat(2,1fr);}
    .hm-dots{bottom:28px;}
}

@media(max-width:720px){
    .hm-top{top:10px;}
    .hm-nav{display:block;border-radius:20px;}
    .hm-brand{margin-bottom:12px;min-width:0;}
    .hm-menu{justify-content:flex-start;gap:6px;}
    .hm-menu a{padding:10px 11px;font-size:13px;}
    .hm-hero{padding-bottom:60px;}
    .hm-hero-inner{
        padding-top:230px;
        padding-bottom:80px;
        min-height:auto;
    }
    .hm-title{
        letter-spacing:-2px;
        font-size:42px;
        line-height:.96;
    }
    .hm-desc{font-size:16px;}
    .hm-machine-photo{height:320px;}
    .hm-floating{right:14px;top:14px;width:145px;}
    .hm-bottom-strip{grid-template-columns:1fr;padding-top:26px;}
    .hm-dots{bottom:22px;}
}

@media(max-width:1100px){
    .hm-service-grid,
    .hm-about-wrap{grid-template-columns:1fr;}
    .hm-project-strip{display:block;}
    .hm-project-actions{justify-content:flex-start;margin-top:24px;}
}

@media(max-width:700px){
    .hm-home-blocks,
    .hm-about-wrap,
    .hm-project-strip{padding:58px 0;}
    .hm-section-head h2,
    .hm-about-left h2,
    .hm-project-content h2{font-size:32px;}
    .hm-service-grid,
    .hm-stat-boxes{grid-template-columns:1fr;}
    .hm-service-img{height:220px;}
    .hm-footer{padding:24px 15px;display:block;}
    .hm-footer a{display:inline-flex;margin-top:16px;}
}


.hm-project-strip{
    width:1200px;
    max-width:calc(100% - 30px);
    margin:0 auto;
    padding:80px 0;
    display:block;
    overflow:visible;
}

.hm-ref-step-head{
    margin-bottom:34px;
}

.hm-ref-step-head span{
    display:block;
    color:#ffcc00;
    font-size:13px;
    letter-spacing:2px;
    font-weight:800;
    margin-bottom:12px;
}

.hm-ref-step-head h2{
    font-size:44px;
    line-height:1.05;
    margin:0;
    color:#fff;
}

.hm-ref-step-wrap{
    overflow:hidden;
    padding-top:72px;
    margin-top:-72px;
}

.hm-ref-step-window{
    width:100%;
     overflow:visible;
}

.hm-ref-step-track{
    display:flex;
    gap:18px;
    width:max-content;
    will-change:transform;
}

.hm-ref-step-card{
    position:relative;
    width:220px;
    height:145px;
    flex:0 0 220px;
    border-radius:24px;
    padding:18px;
    background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));
    border:1px solid rgba(255,255,255,.12);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    transition:border-color .25s ease, background .25s ease;
}

.hm-ref-step-logo{
    width:100%;
    height:72px;
    border-radius:16px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px;
}

.hm-ref-step-logo img{
    max-width:155px;
    max-height:54px;
    object-fit:contain;
    display:block;
}

.hm-ref-step-card span{
    color:#d8e0ec;
    font-size:13px;
    text-align:center;
    white-space:nowrap;
}

@media(max-width:700px){
    .hm-project-strip{
        padding:58px 0;
    }

    .hm-ref-step-head h2{
        font-size:32px;
    }

    .hm-ref-step-card{
        width:170px;
        flex-basis:170px;
        height:125px;
    }

    .hm-ref-step-logo img{
        max-width:120px;
        max-height:44px;
    }
}
.hm-ref-step-card:hover{
    background:linear-gradient(180deg,rgba(255,106,0,.10),rgba(255,255,255,.035));
    border-color:rgba(255,106,0,.42);
}

.hm-ref-step-card > span{
    position:absolute;
    left:50%;
    bottom:calc(100% + 14px);
    transform:translateX(-50%) translateY(8px);
    min-width:130px;
    max-width:220px;
    padding:10px 14px;
    border-radius:18px;
    background:linear-gradient(135deg,#ff6a00,#ffcc00);
    color:#111;
    font-size:13px;
    font-weight:800;
    text-align:center;
    white-space:normal;
    line-height:1.25;
    opacity:0;
    pointer-events:none;
    box-shadow:0 18px 45px rgba(255,106,0,.32);
    transition:opacity .22s ease, transform .22s ease;
    z-index:50;
}

.hm-ref-step-card > span:after{
    content:"";
    position:absolute;
    left:50%;
    top:100%;
    transform:translateX(-50%);
    border-width:9px 8px 0 8px;
    border-style:solid;
    border-color:#ff9d00 transparent transparent transparent;
}

.hm-ref-step-card:hover > span{
    opacity:1;
    transform:translateX(-50%) translateY(0);
}

#hmCardTitle{
    font-size:18px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
}

#hmCardDesc{
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:400 !important;
}
#hmFloatNo{
    font-size:24px !important;
    line-height:1.1 !important;
}

#hmFloatText{
    font-size:11px !important;
    line-height:1.3 !important;
}