/* HISCORP — 3D construction layer (pure CSS 3D, no libraries) */
.ico{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:-.15em;overflow:visible}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* Extruded 3D symbols */
.icon3d{width:64px;height:64px;display:grid;place-items:center;perspective:400px;margin-bottom:8px}
.icon3d .ico{width:40px;height:40px;color:var(--gold2);stroke-width:1.5;transform-style:preserve-3d;
  filter:drop-shadow(1px 1px 0 #8a5a22) drop-shadow(2px 2px 0 #7d5020) drop-shadow(3px 3px 0 #6a4419) drop-shadow(4px 4px 0 #573613) drop-shadow(7px 10px 8px rgba(0,0,0,.55));
  animation:iconSway 5s ease-in-out infinite}
.ribbon-grid a:nth-child(2) .ico{animation-delay:-1s}.ribbon-grid a:nth-child(3) .ico{animation-delay:-2s}.ribbon-grid a:nth-child(4) .ico{animation-delay:-3s}.ribbon-grid a:nth-child(5) .ico{animation-delay:-4s}
.ribbon-grid a:hover .ico{animation:iconSpin 1s cubic-bezier(.3,.8,.3,1)}
@keyframes iconSway{0%,100%{transform:rotateY(-22deg) rotateX(6deg)}50%{transform:rotateY(22deg) rotateX(-4deg)}}
@keyframes iconSpin{to{transform:rotateY(360deg)}}
.h-ico{width:.95em;height:.95em;color:var(--gold);margin-right:6px;vertical-align:-.1em;stroke-width:1.7;filter:drop-shadow(1px 1px 0 #7d5020) drop-shadow(2px 2px 0 #5e3c16)}
.service-detail h2 .ico{width:1em;height:1em;color:#b67c35;margin-right:10px;vertical-align:-.1em;stroke-width:1.6;filter:drop-shadow(1px 1px 0 #d9b98a) drop-shadow(2px 2px 0 #8a5a22) drop-shadow(4px 5px 4px rgba(0,0,0,.35))}
.value-item>span{perspective:300px;overflow:visible}
.value-item>span .ico{width:24px;height:24px;filter:drop-shadow(1px 1px 0 #d8c29b) drop-shadow(2px 2px 0 #8a5a22);animation:iconSway 6s ease-in-out infinite}

/* Hero 3D scene */
.hero-overlay{background:linear-gradient(90deg,rgba(8,14,16,.97) 0%,rgba(8,14,16,.86) 42%,rgba(8,14,16,.62) 100%),linear-gradient(0deg,rgba(8,14,16,.7),transparent 55%)}
.hero:before{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(240,185,103,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(240,185,103,.07) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(90deg,transparent 25%,#000);mask-image:linear-gradient(90deg,transparent 25%,#000)}
.scene3d{position:absolute;z-index:1;top:0;bottom:48px;right:max(10px,calc((100% - 1160px)/2));width:min(600px,50vw);perspective:1500px;pointer-events:none}
.world{position:absolute;left:50%;top:60%;width:420px;height:300px;margin:-150px 0 0 -210px;transform-style:preserve-3d;transform:rotateX(var(--rx,58deg)) rotateZ(var(--rz,38deg)) scale(var(--sc,1))}
.box{position:absolute;transform-style:preserve-3d}
.f{position:absolute;display:block;background-color:var(--c);background-image:linear-gradient(var(--sh),var(--sh));backface-visibility:visible}
.f-top{inset:0;transform:translateZ(var(--h));--sh:rgba(255,255,255,.14)}
.f-front{left:0;top:100%;width:100%;height:var(--h);transform-origin:top;transform:rotateX(90deg);--sh:rgba(0,0,0,.1)}
.f-back{left:0;bottom:100%;width:100%;height:var(--h);transform-origin:bottom;transform:rotateX(-90deg);--sh:rgba(0,0,0,.42)}
.f-right{left:100%;top:0;width:var(--h);height:100%;transform-origin:left;transform:rotateY(-90deg);--sh:rgba(0,0,0,.34)}
.f-left{right:100%;top:0;width:var(--h);height:100%;transform-origin:right;transform:rotateY(90deg);--sh:rgba(0,0,0,.3)}
.rise{animation:rise 1s cubic-bezier(.2,.8,.2,1) var(--delay,0s) both}
@keyframes rise{from{visibility:hidden;transform:translateZ(calc(var(--z) + 70px))}1%{visibility:visible}to{visibility:visible;transform:translateZ(var(--z))}}
.ground{--c:#1c292d}.ground .f-top{background-image:linear-gradient(rgba(240,185,103,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(240,185,103,.16) 1px,transparent 1px);background-size:30px 30px}
.road .f-top{background-color:#0f1517;background-image:repeating-linear-gradient(90deg,#e8b96a 0 18px,transparent 18px 38px);background-size:100% 3px;background-repeat:no-repeat;background-position:0 50%}
.win .f-front{background-image:repeating-linear-gradient(90deg,transparent 0 11px,rgba(247,200,125,.92) 11px 22px),linear-gradient(var(--sh),var(--sh));background-size:100% 44%,100% 100%;background-position:0 50%,0 0;background-repeat:no-repeat}
.win .f-right{background-image:repeating-linear-gradient(180deg,transparent 0 11px,rgba(247,200,125,.7) 11px 22px),linear-gradient(var(--sh),var(--sh));background-size:44% 100%,100% 100%;background-position:50% 0,0 0;background-repeat:no-repeat}
.rib .f-front,.rib .f-back{background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.3) 0 2px,transparent 2px 7px),linear-gradient(var(--sh),var(--sh))}
.lattice .f-front,.lattice .f-back,.lattice .f-right,.lattice .f-left{background-image:repeating-linear-gradient(45deg,transparent 0 5px,rgba(0,0,0,.55) 5px 7px),linear-gradient(var(--sh),var(--sh))}
.crate .f-top{background-image:linear-gradient(90deg,transparent 40%,rgba(110,70,25,.7) 40% 60%,transparent 60%),linear-gradient(var(--sh),var(--sh))}
.cab .f-right{background-image:linear-gradient(#27414b,#27414b),linear-gradient(var(--sh),var(--sh));background-size:50% 72%,100% 100%;background-position:100% 50%,0 0;background-repeat:no-repeat}
.shadow{position:absolute;background:rgba(0,0,0,.45);filter:blur(10px);transform:translateZ(10.5px)}
.crane-top{position:absolute;left:241px;top:66px;width:0;height:0;transform-style:preserve-3d;transform:translateZ(210px);animation:swing 9s ease-in-out infinite alternate}
@keyframes swing{from{transform:translateZ(210px) rotateZ(-16deg)}to{transform:translateZ(210px) rotateZ(18deg)}}
.truck{position:absolute;left:0;top:233px;width:0;height:0;transform-style:preserve-3d;animation:drive 11s linear infinite}
@keyframes drive{from{transform:translateX(-130px)}to{transform:translateX(440px)}}

@media(min-width:901px){.home-page .hero h1{font-size:clamp(42px,4.6vw,72px);max-width:53%}.home-page .hero-copy{max-width:min(520px,48%)}}
/* Floating symbols */
.sym{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 14px 9px;min-width:92px;background:linear-gradient(145deg,rgba(32,44,48,.92),rgba(13,19,21,.92));border:1px solid rgba(240,185,103,.45);box-shadow:0 14px 30px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.12),4px 4px 0 rgba(120,80,32,.55);transform:rotateY(-14deg) rotateX(6deg);animation:floaty 5s ease-in-out infinite}
.sym .ico{width:34px;height:34px;color:var(--gold2);filter:drop-shadow(1px 1px 0 #7d5020) drop-shadow(2px 2px 0 #5e3c16)}
.sym b{font-size:8.5px;letter-spacing:1.8px;text-transform:uppercase;color:#f0e6d6}
.s1{left:0;top:9%}.s2{right:0;bottom:12%;animation-delay:-1.2s}.s3{left:2%;bottom:6%;animation-delay:-2.4s}.s4{right:2%;top:5%;animation-delay:-3.4s}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -12px}}

/* Tilt cards */
.tilt{transition:transform .25s ease,box-shadow .25s ease;will-change:transform}
.tilt:hover{box-shadow:0 26px 40px rgba(0,0,0,.28)}
.service-card.tilt,.partner-card.tilt,.info-panel.tilt{transform-style:preserve-3d}
.card-image{transition:transform .5s ease}.service-card:hover .card-image{transform:scale(1.06)}
.service-card{overflow:hidden;box-shadow:6px 6px 0 rgba(200,140,66,.35)}

@media(max-width:900px){
  .hero{flex-direction:column;justify-content:flex-start;align-items:stretch}
  .hero-content{padding-bottom:10px}
  .scene3d{position:relative;order:2;right:auto;top:auto;bottom:auto;width:100%;height:400px;margin:0 0 56px;overflow:hidden}
  .world{--sc:.72;top:68%}
  .sym{transform:none;min-width:0;padding:8px 10px 6px}.sym .ico{width:24px;height:24px}.sym b{font-size:7px}
  .hero-bottom{position:absolute}
}
@media(max-width:520px){.world{--sc:.62}.scene3d{height:380px}.s3,.s4{display:none}}
@media(prefers-reduced-motion:reduce){.truck{animation:none;transform:translateX(150px)}.crane-top,.sym,.icon3d .ico,.value-item>span .ico{animation:none}}
