/* ============================================================
   KUSHIM · MEGAMENÚ 2.0
   Full-screen navigation system
   ============================================================ */

body.menu-open{overflow:hidden}

.megamenu.mega2{
    --m-bg:#061018;
    --m-panel:rgba(12,20,27,.72);
    --m-panel-strong:rgba(13,22,29,.94);
    --m-line:rgba(255,255,255,.09);
    --m-copy:#93a3ad;
    --m-white:#f4f8f6;
    --m-green:#00d6a2;
    --m-cyan:#45d9ff;
    --m-violet:#a893ff;
    --mx:72%;
    --my:24%;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    z-index:100000!important;
    margin:0!important;
    padding:0!important;
    background:var(--m-bg)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:none!important;
    overflow:hidden;
    color:var(--m-white);
    font-family:'Sora',sans-serif;
    transition:opacity .34s ease,visibility .34s ease;
}
.megamenu.mega2.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.megamenu.mega2.closing{
    opacity:0;
    visibility:visible;
    pointer-events:none;
}
.mega2 *{box-sizing:border-box}
.mega2 a{text-decoration:none}
.mega2-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.mega2-bg:after{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at var(--mx) var(--my),rgba(69,217,255,.09),transparent 24%),
      radial-gradient(circle at 18% 78%,rgba(0,214,162,.09),transparent 26%),
      linear-gradient(180deg,rgba(255,255,255,.015),transparent 18%);
    transition:background .18s linear;
}
.mega2-grid{
    position:absolute;inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:56px 56px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),rgba(0,0,0,.15) 72%,transparent);
    opacity:.36;
}
.mega2-orb{position:absolute;border-radius:50%;filter:blur(110px);opacity:.15}
.mega2-orb-a{width:640px;height:640px;background:var(--m-green);right:-180px;top:-230px;animation:mega2FloatA 11s ease-in-out infinite alternate}
.mega2-orb-b{width:520px;height:520px;background:var(--m-violet);left:-220px;bottom:-260px;animation:mega2FloatB 13s ease-in-out infinite alternate}
.mega2-scan{
    position:absolute;left:0;right:0;height:1px;top:-10%;
    background:linear-gradient(90deg,transparent,rgba(69,217,255,.35),transparent);
    box-shadow:0 0 24px rgba(69,217,255,.24);
    animation:mega2Scan 8s linear infinite;
    opacity:.5;
}
@keyframes mega2FloatA{to{transform:translate(-90px,80px) scale(1.08)}}
@keyframes mega2FloatB{to{transform:translate(120px,-50px) scale(.92)}}
@keyframes mega2Scan{to{top:110%}}

.mega2-shell{
    position:relative;
    z-index:2;
    width:min(1880px,100%);
    height:100%;
    margin:0 auto;
    padding:clamp(22px,2.5vw,42px) clamp(20px,3.5vw,68px) clamp(18px,2.2vw,34px);
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:clamp(16px,2vh,26px);
}
.mega2-top{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    min-height:58px;
}
.mega2-brand{display:flex;align-items:center;gap:14px;color:var(--m-white);width:max-content}
.mega2-brand img{width:auto;height:36px;display:block}
.mega2-brand>span{display:flex;flex-direction:column;gap:2px}
.mega2-brand strong{font:800 .8rem/1 'Chivo',sans-serif;letter-spacing:.15em}
.mega2-brand small{font:500 .52rem/1.2 'Chivo Mono',monospace;letter-spacing:.14em;color:#6f818b}
.mega2-status{display:flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--m-line);border-radius:999px;background:rgba(255,255,255,.025)}
.mega2-status i{width:7px;height:7px;border-radius:50%;background:var(--m-green);box-shadow:0 0 14px var(--m-green);animation:mega2Pulse 1.8s ease-in-out infinite}
.mega2-status span,.mega2-status b{font:500 .56rem/1 'Chivo Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.mega2-status span{color:#a9b6bd}.mega2-status b{color:#52636d;font-weight:500}
@keyframes mega2Pulse{50%{opacity:.38;box-shadow:0 0 5px var(--m-green)}}
.mega2-close{
    justify-self:end;
    display:flex;align-items:center;gap:10px;
    border:1px solid var(--m-line);border-radius:999px;
    background:rgba(255,255,255,.025);color:#b8c3c9;
    padding:8px 9px 8px 14px;cursor:pointer;
    transition:.25s ease;
}
.mega2-close span{font:600 .6rem/1 'Chivo Mono',monospace;letter-spacing:.09em;text-transform:uppercase}
.mega2-close svg{width:29px;height:29px;padding:6px;border-radius:50%;background:rgba(255,255,255,.05)}
.mega2-close:hover{color:#fff;border-color:rgba(255,255,255,.22);transform:translateY(-1px)}
.mega2-close:hover svg{transform:rotate(90deg);transition:transform .35s ease}

.mega2-main{
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(280px,.72fr) minmax(330px,.88fr);
    gap:14px;
}
.mega2-panel{
    min-width:0;min-height:0;
    border:1px solid var(--m-line);
    border-radius:24px;
    background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
    backdrop-filter:blur(16px);
    overflow:hidden;
    position:relative;
}
.mega2-panel:before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(120deg,rgba(255,255,255,.035),transparent 28%);
}
.mega2-panel-head{position:relative;z-index:1;padding:clamp(24px,2.1vw,36px) clamp(24px,2.2vw,38px) 20px}
.mega2-panel-head>span,.mega2-panel-head>div>span{
    display:block;margin-bottom:13px;
    color:var(--m-green);font:600 .56rem/1 'Chivo Mono',monospace;letter-spacing:.13em;
}
.mega2-panel-head h2{
    margin:0;color:var(--m-white);font:700 clamp(1.65rem,2vw,2.55rem)/.98 'Chivo',sans-serif;letter-spacing:-.045em;
}
.mega2-panel-head h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(244,248,246,.56)}
.mega2-panel-head p{max-width:620px;margin:14px 0 0;color:var(--m-copy);font-size:.79rem;line-height:1.65}
.mega2-panel-head-small h2{font-size:clamp(1.45rem,1.65vw,2rem)}

.mega2-solutions{display:flex;flex-direction:column}
.mega2-service-grid{
    position:relative;z-index:1;
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    border-top:1px solid var(--m-line);
    border-bottom:1px solid var(--m-line);
    margin-top:auto;
}
.mega2-service{
    min-width:0;min-height:144px;
    padding:18px 13px 16px;
    border-right:1px solid var(--m-line);
    color:var(--m-white);
    display:flex;flex-direction:column;align-items:flex-start;
    position:relative;overflow:hidden;
    transition:background .28s ease,transform .28s ease;
}
.mega2-service:last-child{border-right:0}
.mega2-service:before{
    content:"";position:absolute;inset:auto -30% -75% -30%;height:120%;
    background:radial-gradient(circle,rgba(0,214,162,.18),transparent 66%);
    opacity:0;transform:translateY(18px);transition:.35s ease;
}
.mega2-service:hover{background:rgba(255,255,255,.035);transform:translateY(-3px)}
.mega2-service:hover:before{opacity:1;transform:none}
.mega2-service-num{font:500 .5rem/1 'Chivo Mono',monospace;color:#51616a}
.mega2-service-icon{
    width:34px;height:34px;margin:20px 0 16px;
    border:1px solid rgba(0,214,162,.22);border-radius:9px;
    display:grid;place-items:center;background:rgba(0,214,162,.05);
    transition:.3s ease;
}
.mega2-service-icon svg{width:17px;fill:none;stroke:var(--m-green);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.mega2-service:hover .mega2-service-icon{border-color:rgba(0,214,162,.55);box-shadow:0 0 25px rgba(0,214,162,.11)}
.mega2-service strong{font:650 clamp(.72rem,.72vw,.9rem)/1.15 'Chivo',sans-serif;letter-spacing:-.02em;position:relative}
.mega2-service small{margin-top:5px;color:#5f707a;font-size:.57rem;position:relative}
.mega2-service>i{position:absolute;right:11px;bottom:13px;font-style:normal;color:#4c5c64;font-size:.8rem;transition:.25s}
.mega2-service:hover>i{color:var(--m-green);transform:translateX(3px)}
.mega2-integral{
    position:relative;z-index:1;
    margin:14px;
    border:1px solid rgba(0,214,162,.14);
    border-radius:16px;padding:16px 18px;
    display:grid;grid-template-columns:minmax(170px,.9fr) minmax(270px,1.3fr) auto;
    align-items:center;gap:16px;
    background:linear-gradient(100deg,rgba(0,214,162,.07),rgba(69,217,255,.025),transparent);
    color:var(--m-white);
    transition:.3s ease;
}
.mega2-integral:hover{border-color:rgba(0,214,162,.34);background:linear-gradient(100deg,rgba(0,214,162,.1),rgba(69,217,255,.04),transparent)}
.mega2-integral>div:first-child{display:flex;flex-direction:column;gap:4px}
.mega2-integral>div:first-child span{font:600 .52rem/1 'Chivo Mono',monospace;color:var(--m-green);letter-spacing:.11em}
.mega2-integral>div:first-child strong{font:650 .82rem/1.2 'Chivo',sans-serif}
.mega2-integral-flow{display:flex;align-items:center;justify-content:center;gap:7px;color:#61717a}
.mega2-integral-flow b{font:600 .49rem/1 'Chivo Mono',monospace;color:#9cabb2;letter-spacing:.05em}
.mega2-integral-flow i{font-style:normal;color:var(--m-green);opacity:.45;animation:mega2Arrow 1.7s ease-in-out infinite}
@keyframes mega2Arrow{50%{opacity:1;transform:translateX(2px)}}
.mega2-integral>em{font-style:normal;font-size:.62rem;color:#8da098;white-space:nowrap}

.mega2-start{display:flex;flex-direction:column}
.mega2-route-list{position:relative;z-index:1;padding:0 14px;display:grid;gap:9px}
.mega2-route{
    display:block;padding:15px 15px 14px;border:1px solid var(--m-line);border-radius:15px;
    background:rgba(255,255,255,.018);color:var(--m-white);position:relative;overflow:hidden;transition:.28s ease;
}
.mega2-route:after{
    content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;top:-70px;
    background:var(--route);filter:blur(45px);opacity:.08;transition:.3s;
}
.mega2-route:hover{transform:translateX(4px);border-color:color-mix(in srgb,var(--route) 35%,rgba(255,255,255,.08));background:rgba(255,255,255,.032)}
.mega2-route:hover:after{opacity:.16}
.mega2-route>div{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.mega2-route>div span{font:500 .5rem/1 'Chivo Mono',monospace;color:#5d6c75}
.mega2-route>div i{width:28px;height:1px;background:var(--route);opacity:.5}
.mega2-route strong{font:650 .88rem/1.1 'Chivo',sans-serif;letter-spacing:-.02em}
.mega2-route p{margin:7px 0 10px;color:#73838c;font-size:.67rem;line-height:1.5}
.mega2-route>b{font-size:.57rem;color:color-mix(in srgb,var(--route) 75%,white 25%);font-weight:600}
.mega2-contact-card{
    position:relative;z-index:1;margin:10px 14px 14px;padding:16px;border-radius:17px;
    border:1px solid rgba(37,211,102,.16);background:linear-gradient(145deg,rgba(37,211,102,.055),rgba(255,255,255,.012));
    margin-top:auto;
}
.mega2-contact-card>span{font:600 .5rem/1 'Chivo Mono',monospace;letter-spacing:.08em;color:#56db88;text-transform:uppercase}
.mega2-contact-card>strong{display:block;margin:8px 0 6px;font:650 .82rem/1.2 'Chivo',sans-serif;color:#eef7f2}
.mega2-contact-card>p{margin:0 0 12px;color:#6e8178;font-size:.63rem;line-height:1.5}
.mega2-contact-card>a{display:inline-flex;align-items:center;gap:7px;color:#71e49b;font-size:.62rem;font-weight:700}
.mega2-contact-card>a span{transition:transform .25s}.mega2-contact-card>a:hover span{transform:translateX(4px)}

.mega2-projects{display:flex;flex-direction:column}
.mega2-panel-head-projects{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;padding-bottom:15px}
.mega2-panel-head-projects h2{font-size:clamp(1.5rem,1.8vw,2.2rem)}
.mega2-panel-head-projects>a{color:#74858e;font-size:.58rem;font-weight:700;white-space:nowrap;transition:.25s}
.mega2-panel-head-projects>a:hover{color:var(--m-green);transform:translateX(2px)}
.mega2-project-preview{
    margin:0 14px;
    border:1px solid var(--m-line);border-radius:18px;overflow:hidden;
    background:rgba(255,255,255,.018);color:var(--m-white);display:block;position:relative;z-index:1;
    transition:border-color .3s ease,transform .3s ease;
}
.mega2-project-preview:hover{border-color:rgba(255,255,255,.18);transform:translateY(-2px)}
.mega2-preview-media{position:relative;height:clamp(150px,21vh,235px);overflow:hidden;background:#05090d}
.mega2-preview-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(5,10,14,.82))}
.mega2-preview-media img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .24s ease,transform .7s cubic-bezier(.2,.8,.2,1);opacity:.86}
.mega2-project-preview:hover .mega2-preview-media img{transform:scale(1.035)}
.mega2-preview-media img.is-swapping{opacity:.12}
.mega2-preview-scan{position:absolute;z-index:2;left:0;right:0;top:-10%;height:1px;background:linear-gradient(90deg,transparent,var(--m-cyan),transparent);opacity:.35;animation:mega2PreviewScan 4.5s linear infinite}
@keyframes mega2PreviewScan{to{top:110%}}
.mega2-preview-live{position:absolute;z-index:3;left:12px;top:12px;display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(3,8,12,.56);backdrop-filter:blur(8px);font:600 .47rem/1 'Chivo Mono',monospace;letter-spacing:.09em;color:#d9e6e1}
.mega2-preview-live i{width:5px;height:5px;border-radius:50%;background:var(--m-green);box-shadow:0 0 9px var(--m-green)}
.mega2-preview-copy{padding:14px 15px 15px}
.mega2-preview-copy>span{font:600 .48rem/1 'Chivo Mono',monospace;color:#697b84;letter-spacing:.08em;text-transform:uppercase}
.mega2-preview-copy>strong{display:block;margin:7px 0 6px;font:650 1rem/1.1 'Chivo',sans-serif}
.mega2-preview-copy>p{margin:0;color:#75858e;font-size:.64rem;line-height:1.45}
.mega2-preview-copy>b{display:inline-block;margin-top:10px;color:#b7c5cb;font-size:.57rem;font-weight:600}
.mega2-project-list{position:relative;z-index:1;margin-top:auto;padding:10px 14px 14px;display:grid;gap:6px}
.mega2-project-link{
    min-height:36px;display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;
    padding:8px 10px;border:1px solid transparent;border-radius:10px;color:#81919a;transition:.24s ease;
}
.mega2-project-link span{font:500 .46rem/1 'Chivo Mono',monospace;color:#4e5d65}
.mega2-project-link strong{font-size:.62rem;font-weight:600}
.mega2-project-link i{font-style:normal;color:#4e5d65}
.mega2-project-link:hover,.mega2-project-link.is-active{color:#f1f6f4;background:rgba(255,255,255,.035);border-color:var(--m-line)}
.mega2-project-link.is-active i{color:var(--m-green)}

.mega2-foot{
    display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;
    border-top:1px solid var(--m-line);padding-top:13px;
}
.mega2-foot-links{display:flex;align-items:center;gap:8px;min-width:0}
.mega2-foot-links>a{
    min-width:0;padding:8px 11px;border-radius:10px;color:#73838c;display:flex;flex-direction:column;gap:3px;transition:.24s ease;
}
.mega2-foot-links>a:hover{background:rgba(255,255,255,.035);color:#fff;transform:translateY(-1px)}
.mega2-foot-links span{font:500 .43rem/1 'Chivo Mono',monospace;color:#46555d;letter-spacing:.1em}
.mega2-foot-links strong{font-size:.58rem;font-weight:600;white-space:nowrap}
.mega2-foot-signature{display:flex;align-items:center;gap:8px;font:600 .46rem/1 'Chivo Mono',monospace;letter-spacing:.12em;color:#46565e}
.mega2-foot-signature i{font-style:normal;color:#2e3f47}.mega2-foot-signature strong{color:var(--m-green)}

.mega2.open .mega2-panel{
    animation:mega2PanelIn .6s cubic-bezier(.18,.8,.2,1) both;
}
.mega2.open .mega2-solutions{animation-delay:.06s}
.mega2.open .mega2-start{animation-delay:.12s}
.mega2.open .mega2-projects{animation-delay:.18s}
.mega2.open .mega2-top{animation:mega2FadeIn .45s .03s both}
.mega2.open .mega2-foot{animation:mega2FadeIn .45s .24s both}
@keyframes mega2PanelIn{from{opacity:0;transform:translateY(18px) scale(.99)}to{opacity:1;transform:none}}
@keyframes mega2FadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media (max-width:1280px){
    .mega2-shell{padding-left:24px;padding-right:24px}
    .mega2-main{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}
    .mega2-projects{grid-column:1/-1;display:grid;grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr);grid-template-rows:auto 1fr}
    .mega2-projects .mega2-panel-head{grid-column:1/-1}
    .mega2-project-preview{grid-column:1;margin-bottom:14px}
    .mega2-project-list{grid-column:2;grid-row:2;padding-top:0;align-self:center;margin:0}
    .mega2-preview-media{height:145px}
    .mega2-main{overflow:auto;padding-right:4px}
}

@media (max-width:860px){
        .megamenu.mega2{overflow:auto}
    .mega2-shell{
        min-height:100dvh;height:auto;
        padding:18px 14px 20px;
        grid-template-rows:auto auto auto;
    }
    .mega2-top{position:sticky;top:0;z-index:20;grid-template-columns:1fr auto;background:rgba(6,16,24,.82);backdrop-filter:blur(16px);padding:2px 0 10px}
    .mega2-status{display:none}
    .mega2-brand img{height:31px}
    .mega2-brand small{display:none}
    .mega2-close span{display:none}
    .mega2-close{padding:5px}
    .mega2-main{display:block;overflow:visible}
    .mega2-panel{margin-bottom:12px;border-radius:19px}
    .mega2-panel-head{padding:22px 18px 16px}
    .mega2-panel-head h2{font-size:1.65rem}
    .mega2-service-grid{grid-template-columns:repeat(2,1fr)}
    .mega2-service{min-height:116px;border-bottom:1px solid var(--m-line)}
    .mega2-service:nth-child(2n){border-right:0}
    .mega2-service:last-child{grid-column:1/-1;border-bottom:0}
    .mega2-service-icon{margin:13px 0 10px}
    .mega2-integral{grid-template-columns:1fr;gap:10px;margin:12px}
    .mega2-integral-flow{justify-content:flex-start;overflow:auto;padding-bottom:2px}
    .mega2-integral>em{white-space:normal}
    .mega2-route-list{padding:0 12px}
    .mega2-contact-card{margin:10px 12px 12px}
    .mega2-projects{display:block}
    .mega2-panel-head-projects{align-items:flex-end}
    .mega2-project-preview{margin:0 12px}
    .mega2-preview-media{height:220px}
    .mega2-project-list{padding:10px 12px 12px}
    .mega2-foot{display:block;padding:12px 4px 0}
    .mega2-foot-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
    .mega2-foot-signature{margin:14px 10px 0;justify-content:center;flex-wrap:wrap}
}

@media (max-width:520px){
    .mega2-shell{padding-left:10px;padding-right:10px}
    .mega2-brand>span{display:none}
    .mega2-panel-head h2{font-size:1.45rem}
    .mega2-panel-head p{font-size:.72rem}
    .mega2-service strong{font-size:.78rem}
    .mega2-preview-media{height:180px}
    .mega2-foot-links{grid-template-columns:1fr 1fr}
}

@media (prefers-reduced-motion:reduce){
    .mega2 *, .mega2 *:before, .mega2 *:after{
        animation-duration:.001ms!important;
        animation-iteration-count:1!important;
        scroll-behavior:auto!important;
    }
}
