:root{
    --white:#ffffff;
    --gray-50:#f5f6f8;
    --gray-100:#eceef1;
    --line:#dfe2e7;
    --ink:#14171c;
    --ink-soft:#5b6472;
    --ink-faint:#8891a0;
    --accent:#2540ff;
    --accent-dim:#eef0ff;
    --dark:#0e1116;
    --dark-line:#262b34;
    --radius:2px;
    --maxw:1180px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
    font-family:'Inter', sans-serif;
    color:var(--ink);
    background:var(--white);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}
h1,h2,h3,.display{
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    letter-spacing:-0.02em;
    line-height:1.05;
}
.mono{
    font-family:'IBM Plex Mono', monospace;
    letter-spacing:0.02em;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
.eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:0.12em;
    color:var(--ink-faint);
    display:flex;
    align-items:center;
    gap:10px;
}
.eyebrow::before{
    content:"";
    width:14px; height:1px;
    background:var(--accent);
    display:inline-block;
}
button, .btn{
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:14px;
    cursor:pointer;
    border:none;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:14px 24px;
    border-radius:var(--radius);
    transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.btn-primary{background:var(--ink); color:var(--white);}
.btn-primary:hover{background:var(--accent); box-shadow:0 8px 24px rgba(37,64,255,0.28); transform:translateY(-1px);}
.btn-secondary{background:var(--accent); color:var(--white);}
.btn-secondary:hover{background:var(--ink); transform:translateY(-1px);}
.btn-ghost{background:transparent; color:var(--ink); border:1px solid var(--line);}
.btn-ghost:hover{border-color:var(--ink); transform:translateY(-1px);}
.btn-ghost-light{background:transparent; color:var(--white); border:1px solid var(--dark-line);}
.btn-ghost-light:hover{border-color:var(--white);}
.btn-arrow{transition:transform .18s ease;}
.btn:hover .btn-arrow{transform:translateX(3px);}
.btn-menu{background:#e0332a; color:var(--white);}
.btn-menu:hover{background:#b8271f; box-shadow:0 8px 20px rgba(224,51,42,0.3);}

/* PROJECTS CAROUSEL */
.projects{padding-top:64px; padding-bottom:64px;}
.carousel-controls{display:flex; gap:10px;}
.car-btn{
    width:44px; height:44px;
    border:1px solid var(--line);
    background:var(--white);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:16px;
    color:var(--ink);
    padding:0;
    transition:all .18s ease;
}
.car-btn:hover{border-color:var(--ink); background:var(--ink); color:var(--white);}
.carousel-track-wrap{
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding-left:max(32px, calc((100vw - var(--maxw)) / 2 + 32px));
    padding-right:32px;
}
.carousel-track-wrap::-webkit-scrollbar{display:none;}
.carousel-track{
    display:flex;
    gap:24px;
}
.project-card{
    flex:0 0 340px;
    scroll-snap-align:start;
    border:1px solid var(--line);
    background:var(--white);
    transition:box-shadow .2s ease, transform .2s ease;
}
.project-card:hover{box-shadow:0 20px 40px rgba(20,23,28,0.1); transform:translateY(-3px);}
.project-image{
    height:190px;
    display:flex; align-items:flex-end; padding:16px;
    border-bottom:1px solid var(--line);
    position:relative;
}
.project-image .tag{color:#fff; background:rgba(14,17,22,0.55); padding:5px 10px; backdrop-filter:blur(4px);}
.grad-1{background:linear-gradient(135deg,#1a2440,#2540ff);}
.grad-2{background:linear-gradient(135deg,#14171c,#3d4759);}
.grad-3{background:linear-gradient(135deg,#2540ff,#5b6472);}
.grad-4{background:linear-gradient(135deg,#0e1116,#2540ff 140%);}
.grad-5{background:linear-gradient(135deg,#3d4759,#14171c);}
.project-body{padding:24px;}
.project-title{
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:17px;
    max-width:26ch;
}
.project-text{
    font-size:13.5px;
    color:var(--ink-soft);
    margin-top:10px;
    line-height:1.55;
}
.project-cta{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13.5px;
    font-weight:600;
    color:var(--accent);
    margin-top:18px;
}
.project-cta:hover .btn-arrow{transform:translateX(3px);}

/* SCROLL REVEAL */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal-stagger.in > *{transition-delay:calc(var(--i, 0) * 70ms);}

/* HEADER */
header{
    position:fixed; top:0; left:0; right:0; z-index:200;
    background:rgba(255,255,255,0.88);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
}
.nav{
    max-width:var(--maxw); margin:0 auto; padding:0 32px;
    height:72px;
    display:flex; align-items:center; justify-content:space-between;
}
.logo{
    font-family:'Space Grotesk', sans-serif;
    font-weight:700;
    font-size:19px;
    letter-spacing:-0.01em;
    display:flex; align-items:center; gap:2px;
}
.logo span{color:var(--accent);}
.nav-links{
    display:flex; align-items:center; gap:8px;
    font-size:14px; font-weight:500;
}
.nav-item{position:relative;}
.nav-link{
    display:inline-flex; align-items:center; gap:5px;
    color:var(--ink-soft); padding:10px 14px;
    transition:color .15s;
    border-radius:var(--radius);
}
.nav-link:hover{color:var(--ink);}
.nav-caret{font-size:10px; transition:transform .2s ease;}
.nav-item.open .nav-caret{transform:rotate(180deg);}
.nav-item.open .nav-link{color:var(--ink);}
.nav-cta{display:flex; align-items:center; gap:12px;}
.nav-toggle{display:none; flex-direction:column; gap:5px; background:none; border:none; padding:8px;}
.nav-toggle span{width:22px; height:2px; background:var(--ink);}

/* LANGUAGE DROPDOWN */
.lang-dropdown{position:relative;}
.lang-trigger{
    display:flex; align-items:center; gap:7px;
    background:var(--white);
    border:1px solid var(--line);
    padding:10px 14px;
    border-radius:var(--radius);
    font-size:13px; font-weight:600;
    color:var(--ink);
}
.lang-trigger:hover{border-color:var(--ink);}
.lang-trigger .flag{font-size:15px;}
.lang-menu{
    position:absolute; top:calc(100% + 8px); right:0;
    background:var(--white);
    border:1px solid var(--line);
    box-shadow:0 16px 32px rgba(20,23,28,0.1);
    min-width:170px;
    padding:6px;
    opacity:0; pointer-events:none;
    transform:translateY(-6px);
    transition:opacity .18s ease, transform .18s ease;
    z-index:250;
}
.lang-dropdown.open .lang-menu{opacity:1; pointer-events:auto; transform:translateY(0);}
.lang-option{
    width:100%;
    display:flex; align-items:center; gap:10px;
    background:none; border:none;
    padding:10px 12px;
    font-size:13.5px; font-weight:500;
    color:var(--ink-soft);
    text-align:left;
    border-radius:2px;
}
.lang-option:hover{background:var(--gray-50); color:var(--ink);}
.lang-option.active{color:var(--ink); font-weight:700;}
.lang-option .flag{font-size:16px;}

/* MEGA MENU */
.mega-panel{
    position:absolute;
    top:100%; left:0; right:0;
    background:var(--white);
    border-bottom:1px solid var(--line);
    box-shadow:0 24px 48px rgba(20,23,28,0.12);
    opacity:0; visibility:hidden; transform:translateY(-8px);
    transition:opacity .22s ease, transform .22s ease, visibility .22s;
    z-index:150;
}
.mega-panel.open{opacity:1; visibility:visible; transform:translateY(0);}
.mega-inner{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:64px;
    padding:44px 32px 48px;
}
.mega-col-list{display:flex; flex-direction:column; gap:2px;}
.mega-col-list .eyebrow{margin-bottom:14px;}
.mega-link{
    display:flex; align-items:baseline; gap:12px;
    padding:11px 10px;
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:16px;
    color:var(--ink);
    border-radius:2px;
    transition:background .15s ease, color .15s ease, padding-left .15s ease;
}
.mega-link:hover{background:var(--gray-50); color:var(--accent); padding-left:16px;}
.mega-link-idx{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px; font-weight:400;
    color:var(--ink-faint);
}
.mega-col-carousel .eyebrow{margin-bottom:14px;}
.mega-vcarousel{
    height:340px;
    overflow:hidden;
    border:1px solid var(--line);
    background:var(--gray-50);
    position:relative;
}
.mega-vcarousel::before, .mega-vcarousel::after{
    content:""; position:absolute; left:0; right:0; height:36px; z-index:2; pointer-events:none;
}
.mega-vcarousel::before{top:0; background:linear-gradient(var(--gray-50), transparent);}
.mega-vcarousel::after{bottom:0; background:linear-gradient(transparent, var(--gray-50));}
.mega-vtrack{
    animation:megaScroll 22s linear infinite;
}
.mega-vcarousel:hover .mega-vtrack{animation-play-state:paused;}
@keyframes megaScroll{ from{transform:translateY(0);} to{transform:translateY(-50%);} }

.mega-result-item{
    padding:18px 20px;
    border-bottom:1px solid var(--line);
    background:var(--white);
}
.mega-result-item .mri-num{
    font-family:'Space Grotesk', sans-serif;
    font-size:22px; font-weight:700; color:var(--accent);
}
.mega-result-item .mri-title{font-size:13.5px; font-weight:600; margin-top:4px;}
.mega-result-item .mri-tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:10.5px; color:var(--ink-faint); margin-top:6px; text-transform:uppercase;
}
.mega-testi-item{
    padding:18px 20px;
    border-bottom:1px solid var(--line);
    background:var(--white);
    display:flex; gap:12px;
}
.mega-testi-item .avatar{width:34px; height:34px; font-size:11px; flex-shrink:0;}
.mega-testi-item .mti-quote{font-size:12.5px; color:var(--ink-soft); line-height:1.5;}
.mega-testi-item .mti-name{font-size:12.5px; font-weight:700; margin-top:6px;}
.mega-testi-item .mti-role{font-size:11px; color:var(--ink-faint);}
.mega-backdrop{
    position:fixed; inset:0; top:72px;
    background:rgba(14,17,22,0.25);
    opacity:0; pointer-events:none;
    transition:opacity .22s ease;
    z-index:90;
}
.mega-backdrop.open{opacity:1; pointer-events:auto;}

/* MENU DRAWER */
.menu-drawer{
    position:fixed; inset:0; z-index:400;
    background:rgba(14,17,22,0.5);
    opacity:0; pointer-events:none;
    transition:opacity .3s ease;
}
.menu-drawer.open{opacity:1; pointer-events:auto;}
.menu-drawer-panel{
    position:absolute; top:0; right:0; bottom:0;
    width:100%; max-width:440px;
    background:var(--dark);
    color:var(--white);
    padding:110px 44px 40px;
    display:flex; flex-direction:column;
    transform:translateX(100%);
    transition:transform .38s cubic-bezier(.16,1,.3,1);
    overflow-y:auto;
}
.menu-drawer.open .menu-drawer-panel{transform:translateX(0);}
.menu-close{
    position:absolute; top:28px; right:28px;
    background:none; border:1px solid var(--dark-line);
    color:var(--white);
    width:40px; height:40px; border-radius:50%;
    font-size:16px; cursor:pointer;
}
.menu-close:hover{border-color:var(--white);}
.menu-drawer-links{display:flex; flex-direction:column; margin-top:20px;}
.menu-drawer-links a{
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:26px;
    color:var(--white);
    padding:16px 0;
    border-bottom:1px solid var(--dark-line);
    transition:color .18s ease, transform .18s ease;
}
.menu-drawer-links a:hover{color:var(--accent); transform:translateX(6px);}
.menu-drawer-footer{margin-top:auto; padding-top:32px;}

/* TOAST */
.toast{
    position:fixed; bottom:28px; left:50%;
    transform:translate(-50%, 20px);
    background:var(--ink); color:var(--white);
    font-size:13px; font-weight:500;
    padding:13px 22px;
    border-radius:100px;
    opacity:0; pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
    z-index:500;
    box-shadow:0 12px 30px rgba(0,0,0,0.25);
}
.toast.show{opacity:1; transform:translate(-50%, 0);}

/* HERO */
.hero{
    padding:190px 0 0;
    position:relative;
    overflow:hidden;
}
#heroCanvas{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:0;
    pointer-events:none;
}
.hero-scrim{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(100deg,
        rgba(255,255,255,0.98) 0%,
        rgba(255,255,255,0.9) 34%,
        rgba(255,255,255,0.55) 56%,
        rgba(255,255,255,0.15) 76%,
        rgba(255,255,255,0) 92%);
}
.hero .wrap{position:relative; z-index:2;}
.hero-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:64px;
    align-items:end;
    padding-bottom:70px;
    min-height:520px;
}
.hero h1{
    font-size:clamp(40px, 5.4vw, 74px);
    max-width:15ch;
}
.hero h1 em{
    font-style:normal;
    color:var(--accent);
}
.hero-sub{
    margin-top:28px;
    font-size:18px;
    color:var(--ink-soft);
    max-width:46ch;
}
.hero-cta{
    margin-top:40px;
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}
.hero-microtrust{
    margin-top:18px;
    font-size:12.5px;
    color:var(--ink-faint);
    font-family:'IBM Plex Mono', monospace;
}
.hero-side{
    border-left:1px solid var(--line);
    padding-left:36px;
}
.hero-side p{
    font-size:15px;
    color:var(--ink-soft);
    max-width:32ch;
    margin-bottom:24px;
}
.hero-side .mono{
    font-size:12px; color:var(--ink-faint);
}

/* 3D ECOSYSTEM PANEL */
.ecosystem{
    position:relative;
    background:var(--dark);
    border-top:1px solid var(--dark-line);
    border-bottom:1px solid var(--dark-line);
    overflow:hidden;
}
#ecoCanvas{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
}
.ecosystem-content{
    position:relative;
    z-index:2;
    padding:64px 0;
    pointer-events:none;
}
.ecosystem-content .wrap{pointer-events:auto;}
.ecosystem-label{color:#9aa1ad;}
.ecosystem h2{
    color:var(--white);
    font-size:clamp(24px, 3vw, 34px);
    max-width:20ch;
    margin-top:18px;
}
.ecosystem-nodes-hint{
    margin-top:16px;
    color:#9aa1ad;
    font-size:14px;
    max-width:44ch;
}

/* METRICS STRIP */
.metrics{
    background:var(--dark);
    color:var(--white);
    position:relative;
    z-index:2;
}
.metrics-inner{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    border-top:1px solid var(--dark-line);
}
.metric{
    padding:36px 32px;
    border-right:1px solid var(--dark-line);
}
.metric:last-child{border-right:none;}
.metric .num{
    font-family:'Space Grotesk', sans-serif;
    font-size:38px;
    font-weight:600;
    color:var(--white);
    display:flex;
    align-items:baseline;
    gap:2px;
}
.metric .num .accent-dot{color:var(--accent);}
.metric .label{
    margin-top:6px;
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    color:#9aa1ad;
    text-transform:uppercase;
    letter-spacing:0.08em;
}

/* SECTION GENERIC */
section{padding:110px 0;}
.section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:40px;
    margin-bottom:56px;
    border-bottom:1px solid var(--line);
    padding-bottom:32px;
}
.section-head h2{
    font-size:clamp(28px, 3.2vw, 42px);
    max-width:16ch;
}
.section-head .hint{
    font-size:15px;
    color:var(--ink-soft);
    max-width:34ch;
    text-align:left;
}

/* DIVISIONS — with 3D tilt */
.divisions-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    perspective:900px;
}
.division-card{
    background:var(--white);
    padding:36px 32px;
    min-height:220px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    position:relative;
    overflow:hidden;
    transform-style:preserve-3d;
    transition:transform .12s ease, background .18s ease, box-shadow .18s ease;
    will-change:transform;
}
.division-card:hover{background:var(--gray-50); box-shadow:0 20px 40px rgba(20,23,28,0.08); z-index:3;}
.division-card:hover .d-arrow{opacity:1; transform:translate(0,0);}
.division-card:hover .division-bg{opacity:1;}
.division-info, .division-card > .d-arrow{position:relative; z-index:1;}

/* PER-CARD ANIMATED BACKGROUNDS */
.division-bg{
    position:absolute; inset:0; z-index:0;
    overflow:hidden; pointer-events:none;
    opacity:0.8;
    transition:opacity .3s ease;
}
.division-bg .dot{position:absolute; width:11px; height:11px; border-radius:50%; background:var(--accent); opacity:0.4;}
.division-bg .ring{position:absolute; border:1.5px solid var(--accent); border-radius:50%; opacity:0.32;}
.division-bg .bar{position:absolute; width:9px; background:var(--accent); opacity:0.3; transform-origin:bottom; border-radius:2px;}
.division-bg .line{position:absolute; height:1.5px; background:var(--accent); opacity:0.32;}
.division-bg .sq{position:absolute; width:13px; height:13px; background:var(--accent); opacity:0.3;}
.division-bg .glow{
    position:absolute; border-radius:50%;
    background:radial-gradient(circle, var(--accent) 0%, transparent 72%);
    opacity:0.16; filter:blur(1px);
}
.division-bg .orbit-wrap, .division-bg .sweep-wrap{position:absolute; border-radius:50%;}
.division-bg .sweep-line{position:absolute; top:50%; left:50%; width:50%; height:1.5px; background:var(--accent); opacity:0.55; transform-origin:left center;}

/* ANIMATIONS */
@keyframes driftDot{0%,100%{transform:translate(0,0);} 50%{transform:translate(20px,-16px);}}
@keyframes floatUp{0%,100%{transform:translateY(0);} 50%{transform:translateY(-20px);}}
@keyframes pulseRing{0%{transform:scale(0.5); opacity:0.4;} 100%{transform:scale(2.8); opacity:0;}}
@keyframes riseBar{0%,100%{transform:scaleY(0.4);} 50%{transform:scaleY(1);}}
@keyframes fadeStep{0%,100%{opacity:0.12;} 50%{opacity:0.65;}}
@keyframes riseLadder{0%,100%{transform:translateY(0); opacity:0.28;} 50%{transform:translateY(-16px); opacity:0.7;}}
@keyframes sweepRotate{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}
@keyframes crossFade{0%,100%{opacity:0.15;} 50%{opacity:0.55;}}
@keyframes glowDrift{0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(-14px,14px) scale(1.15);}}
@keyframes glowBreathe{0%,100%{transform:scale(1); opacity:0.14;} 50%{transform:scale(1.25); opacity:0.24;}}

.anim-drift{animation:driftDot 4.5s ease-in-out infinite;}
.anim-float{animation:floatUp 4s ease-in-out infinite;}
.anim-pulse{animation:pulseRing 2.4s ease-out infinite;}
.anim-rise{animation:riseBar 2.6s ease-in-out infinite;}
.anim-fade{animation:fadeStep 2.2s ease-in-out infinite;}
.anim-ladder{animation:riseLadder 2.4s ease-in-out infinite;}
.anim-sweep{animation:sweepRotate 6s linear infinite;}
.anim-crossfade{animation:crossFade 2.4s ease-in-out infinite;}
.anim-glow-drift{animation:glowDrift 6s ease-in-out infinite;}
.anim-glow-breathe{animation:glowBreathe 5s ease-in-out infinite;}

@media (prefers-reduced-motion: reduce){
    .division-bg *{animation:none !important;}
}
.division-index{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    color:var(--ink-faint);
}
.division-name{
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:19px;
    margin-top:20px;
}
.division-desc{
    font-size:14px;
    color:var(--ink-soft);
    margin-top:10px;
    max-width:30ch;
}
.d-arrow{
    margin-top:20px;
    font-size:14px;
    opacity:0;
    transform:translate(-4px,0);
    transition:all .18s ease;
    color:var(--accent);
    font-weight:600;
}

/* 8 PILLARS */
.pillars-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
}
.pillar-card{
    background:var(--white);
    padding:32px 26px;
    min-height:170px;
    transition:background .18s ease, transform .18s ease;
}
.pillar-card:hover{background:var(--gray-50); transform:translateY(-2px);}
.pillar-card .division-name{margin-top:16px; font-size:18px;}
.pillar-card .division-desc{margin-top:8px; font-size:13.5px; max-width:26ch;}
.pillar-final{
    background:var(--ink);
}
.pillar-final .division-index{color:var(--accent);}
.pillar-final .division-name{color:var(--white);}
.pillar-final .division-desc{color:#c3c8d1;}
.pillar-final:hover{background:var(--dark);}

/* PROCESS (dark) */
.process{
    background:var(--dark);
    color:var(--white);
}
.process .section-head{border-bottom-color:var(--dark-line);}
.process .section-head h2{color:var(--white);}
.process .section-head .hint{color:#9aa1ad;}
.process-row{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:0;
}
.process-step{
    padding:0 28px 0 0;
    border-right:1px solid var(--dark-line);
    margin-right:28px;
}
.process-step:last-child{border-right:none; margin-right:0; padding-right:0;}
.process-step .pnum{
    font-family:'IBM Plex Mono', monospace;
    font-size:13px;
    color:var(--accent);
}
.process-step h3{
    color:var(--white);
    font-size:21px;
    margin-top:14px;
}
.process-step p{
    color:#9aa1ad;
    font-size:14px;
    margin-top:10px;
}

/* PARTNERS */
.partners{
    background:var(--gray-50);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}
.partners-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
}
.partners-visual{
    border:1px solid var(--line);
    background:var(--white);
    padding:40px;
    position:relative;
}
.partner-ring{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
.partner-dot{
    aspect-ratio:1;
    border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    color:var(--ink-faint);
    background:var(--white);
    transition:all .3s ease;
}
.partner-dot.lit{
    background:var(--ink);
    color:var(--white);
    border-color:var(--ink);
}
.partners-copy .checklist{margin-top:24px;}
.partners-copy .checklist li{
    display:flex;
    gap:12px;
    font-size:15px;
    color:var(--ink-soft);
    margin-bottom:14px;
    list-style:none;
}
.partners-copy .checklist li::before{
    content:"→";
    color:var(--accent);
    font-weight:600;
    flex-shrink:0;
}

/* CASES */
.cases-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
    perspective:900px;
}
.case-card{
    border:1px solid var(--line);
    transform-style:preserve-3d;
    transition:transform .12s ease, box-shadow .18s ease;
    background:var(--white);
    will-change:transform;
}
.case-card:hover{box-shadow:0 20px 40px rgba(20,23,28,0.1);}
.case-image{
    height:180px;
    background:linear-gradient(135deg, var(--gray-100), var(--gray-50));
    display:flex; align-items:center; justify-content:center;
    border-bottom:1px solid var(--line);
}
.case-image .tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    color:var(--ink-faint);
}
.case-body{padding:26px 24px;}
.case-result{
    font-family:'Space Grotesk', sans-serif;
    font-size:30px;
    font-weight:600;
    color:var(--accent);
}
.case-title{
    font-weight:600;
    font-size:16px;
    margin-top:12px;
}
.case-meta{
    font-size:13px;
    color:var(--ink-soft);
    margin-top:6px;
}

/* TESTIMONIAL */
.testimonial{
    background:var(--gray-50);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}
.testimonial blockquote{
    font-family:'Space Grotesk', sans-serif;
    font-size:clamp(22px, 2.6vw, 32px);
    font-weight:500;
    max-width:22ch;
    line-height:1.3;
}
.testimonial-attrib{
    margin-top:28px;
    display:flex;
    align-items:center;
    gap:14px;
}
.avatar{
    width:44px; height:44px;
    border-radius:50%;
    background:var(--ink);
    color:var(--white);
    display:flex; align-items:center; justify-content:center;
    font-family:'Space Grotesk',sans-serif;
    font-size:14px;
    font-weight:600;
}
.testimonial-attrib .name{font-weight:600; font-size:14px;}
.testimonial-attrib .role{font-size:13px; color:var(--ink-soft);}

/* TESTIMONIAL — grid layout: slider left, orbit right */
.testimonial-grid{
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:72px;
    align-items:center;
}
.testimonial-slider{position:relative;}
.ts-track{
    position:relative;
    min-height:220px;
    margin-top:24px;
}
.ts-slide{
    position:absolute;
    top:0; left:0; right:0;
    opacity:0;
    transform:translateY(14px);
    pointer-events:none;
    transition:opacity .6s ease, transform .6s ease;
}
.ts-slide.active{
    position:relative;
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
}
.ts-dots{
    display:flex;
    gap:8px;
    margin-top:32px;
}
.ts-dot{
    width:8px; height:8px;
    border-radius:50%;
    background:var(--line);
    border:none;
    padding:0;
    cursor:pointer;
    transition:all .25s ease;
}
.ts-dot.active{background:var(--accent); width:22px; border-radius:4px;}

/* ORBIT — circular auto-rotating carousel */
.orbit-outer{
    position:relative;
    width:100%;
    max-width:380px;
    aspect-ratio:1;
    margin:0 auto;
}
.orbit-ring{
    position:absolute;
    inset:0;
    border-radius:50%;
    border:1px dashed var(--line);
    animation:orbitSpin 40s linear infinite;
}
.orbit-avatar{
    position:absolute;
    top:50%; left:50%;
    width:52px; height:52px;
    margin:-26px 0 0 -26px;
    border-radius:50%;
    background:var(--white);
    border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    font-family:'Space Grotesk', sans-serif;
    font-size:13px;
    font-weight:600;
    color:var(--ink-soft);
    box-shadow:0 6px 16px rgba(20,23,28,0.06);
    transition:all .35s ease;
}
.orbit-avatar.active{
    background:var(--ink);
    color:var(--white);
    border-color:var(--ink);
    width:64px; height:64px;
    margin:-32px 0 0 -32px;
    box-shadow:0 12px 28px rgba(37,64,255,0.25);
}
.orbit-center{
    position:absolute;
    top:50%; left:50%;
    transform:translate(-50%,-50%);
    width:130px; height:130px;
    border-radius:50%;
    background:var(--white);
    border:1px solid var(--line);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center;
    box-shadow:0 10px 30px rgba(20,23,28,0.08);
}
.orbit-center-num{
    font-family:'Space Grotesk', sans-serif;
    font-size:30px;
    font-weight:700;
    color:var(--accent);
}
.orbit-center-label{
    font-size:10px;
    color:var(--ink-faint);
    margin-top:4px;
    line-height:1.4;
}
@keyframes orbitSpin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }

@media (max-width:900px){
    .testimonial-grid{grid-template-columns:1fr; gap:48px;}
    .orbit-outer{max-width:280px;}
}
@media (prefers-reduced-motion: reduce){
    .orbit-ring{animation:none;}
}

/* FAQ */
.faq-list{max-width:760px;}
.faq-item{
    border-bottom:1px solid var(--line);
}
.faq-q{
    width:100%;
    background:none;
    border:none;
    text-align:left;
    padding:24px 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-family:'Space Grotesk', sans-serif;
    font-size:17px;
    font-weight:600;
    color:var(--ink);
    border-radius:0;
}
.faq-q:hover{background:none;}
.faq-icon{
    font-family:'IBM Plex Mono', monospace;
    font-size:18px;
    color:var(--accent);
    transition:transform .25s ease;
    flex-shrink:0;
    margin-left:20px;
}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
}
.faq-a p{
    padding-bottom:24px;
    font-size:14.5px;
    color:var(--ink-soft);
    max-width:60ch;
}

/* CTA */
.cta-band{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:64px;
    align-items:start;
}
.cta-band h2{
    font-size:clamp(28px, 3.6vw, 46px);
    max-width:14ch;
}
.path-toggle{
    display:flex;
    gap:0;
    margin-top:32px;
    border:1px solid var(--line);
    width:fit-content;
}
.path-toggle button{
    background:var(--white);
    color:var(--ink-soft);
    border-radius:0;
    padding:11px 20px;
    font-size:13px;
}
.path-toggle button.active{
    background:var(--ink);
    color:var(--white);
}
.cta-form{
    border:1px solid var(--line);
    padding:32px;
}
.cta-form .row{margin-bottom:16px;}
.cta-form label{
    display:block;
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:var(--ink-faint);
    margin-bottom:8px;
}
.cta-form input, .cta-form select, .cta-form textarea{
    width:100%;
    border:1px solid var(--line);
    padding:12px 14px;
    font-family:'Inter', sans-serif;
    font-size:14px;
    border-radius:var(--radius);
    background:var(--white);
    color:var(--ink);
}
.cta-form input:focus, .cta-form select:focus, .cta-form textarea:focus{
    outline:2px solid var(--accent);
    outline-offset:1px;
}
.cta-form button[type="submit"]{width:100%; justify-content:center; margin-top:6px;}
.cta-form .formnote{
    font-size:12px;
    color:var(--ink-faint);
    margin-top:14px;
    text-align:center;
}

/* STICKY CTA BAR */
.sticky-cta{
    position:fixed;
    bottom:20px;
    left:50%;
    transform:translate(-50%, 140%);
    z-index:150;
    background:var(--ink);
    color:var(--white);
    border-radius:100px;
    padding:10px 10px 10px 22px;
    display:flex;
    align-items:center;
    gap:16px;
    box-shadow:0 12px 30px rgba(0,0,0,0.25);
    transition:transform .35s ease;
}
.sticky-cta.show{transform:translate(-50%, 0);}
.sticky-cta span{font-size:13px; font-weight:500; white-space:nowrap;}
.sticky-cta .btns{display:flex; gap:8px;}
.sticky-cta a{
    font-size:12.5px;
    padding:9px 16px;
    border-radius:100px;
}
.sticky-cta .sc-primary{background:var(--accent); color:var(--white); font-weight:600;}
.sticky-cta .sc-ghost{background:transparent; color:#c3c8d1; border:1px solid var(--dark-line);}
.sticky-close{
    background:none; border:none; color:#6b7280; font-size:16px; padding:4px 6px; cursor:pointer;
}

/* LEAD MAGNET MODAL */
.lm-overlay{
    position:fixed; inset:0; z-index:300;
    background:rgba(14,17,22,0.55);
    display:flex; align-items:center; justify-content:center;
    opacity:0; pointer-events:none;
    transition:opacity .3s ease;
    padding:20px;
}
.lm-overlay.show{opacity:1; pointer-events:auto;}
.lm-modal{
    background:var(--white);
    max-width:460px; width:100%;
    padding:40px;
    position:relative;
    transform:translateY(16px);
    transition:transform .3s ease;
}
.lm-overlay.show .lm-modal{transform:translateY(0);}
.lm-close{
    position:absolute; top:16px; right:16px;
    background:none; border:none; font-size:18px; color:var(--ink-faint); padding:6px; cursor:pointer;
}
.lm-modal .eyebrow{margin-bottom:14px;}
.lm-modal h3{font-size:24px; max-width:20ch;}
.lm-modal p{font-size:14px; color:var(--ink-soft); margin-top:12px;}
.lm-modal form{margin-top:22px;}
.lm-modal input{
    width:100%;
    border:1px solid var(--line);
    padding:12px 14px;
    font-size:14px;
    margin-bottom:12px;
}
.lm-modal button{width:100%; justify-content:center;}

/* BLOG */
.blog-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
    gap:32px;
}
.blog-card{
    border:1px solid var(--line);
    background:var(--white);
    transition:box-shadow .2s ease, transform .2s ease;
}
.blog-card:hover{box-shadow:0 20px 40px rgba(20,23,28,0.1); transform:translateY(-3px);}
.blog-image{height:200px; overflow:hidden;}
.blog-image img{width:100%; height:100%; object-fit:cover;}
.blog-body{padding:24px;}
.blog-meta{display:flex; gap:12px; font-size:12px; color:var(--ink-faint); margin-bottom:12px;}
.blog-meta .blog-category{color:var(--accent); font-weight:600;}
.blog-body h3{font-size:18px; margin-bottom:10px;}
.blog-body h3 a{transition:color .15s;}
.blog-body h3 a:hover{color:var(--accent);}
.blog-body p{color:var(--ink-soft); font-size:14px; line-height:1.6;}
.blog-cta{display:inline-flex; align-items:center; gap:6px; font-weight:600; color:var(--accent); margin-top:14px;}

/* PROJECTS PAGE */
.projects-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
    gap:32px;
}

/* FOOTER */
footer{
    background:var(--dark);
    color:#9aa1ad;
    padding:80px 0 32px;
}
.footer-grid{
    display:grid;
    grid-template-columns:1.6fr repeat(3, 1fr);
    gap:40px;
    padding-bottom:56px;
    border-bottom:1px solid var(--dark-line);
}
.footer-logo{
    font-family:'Space Grotesk', sans-serif;
    font-weight:700;
    font-size:19px;
    color:var(--white);
}
.footer-logo span{color:var(--accent);}
.footer-grid p{font-size:14px; margin-top:16px; max-width:30ch;}
.footer-col h4{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:#6b7280;
    margin-bottom:16px;
}
.footer-col a{
    display:block;
    font-size:14px;
    color:#c3c8d1;
    margin-bottom:10px;
    transition:color .15s;
}
.footer-col a:hover{color:var(--white);}
.footer-bottom{
    padding-top:28px;
    display:flex;
    justify-content:space-between;
    font-size:13px;
    color:#6b7280;
}

/* RESPONSIVE */
@media (max-width: 900px){
    .nav-links{display:none;}
    .nav-toggle{display:flex;}
    .btn-menu, .nav-cta > .btn-primary{display:none;}
    .lang-trigger{padding:8px 10px; font-size:12px;}
    .mega-backdrop{display:none;}
    .mega-panel{display:none;}
    .menu-drawer-panel{max-width:100%; padding:100px 28px 32px;}
    .menu-drawer-links a{font-size:22px;}
    .hero-grid{grid-template-columns:1fr;}
    .hero-side{border-left:none; border-top:1px solid var(--line); padding-left:0; padding-top:28px; margin-top:8px;}
    .metrics-inner{grid-template-columns:repeat(2,1fr);}
    .metric:nth-child(2){border-right:none;}
    .metric{border-bottom:1px solid var(--dark-line);}
    .divisions-grid{grid-template-columns:repeat(2,1fr);}
    .pillars-grid{grid-template-columns:repeat(2,1fr);}
    .process-row{grid-template-columns:repeat(2,1fr); row-gap:40px;}
    .process-step{border-right:none; margin-right:0; padding-right:0;}
    .partners-grid{grid-template-columns:1fr; gap:40px;}
    .cases-grid{grid-template-columns:1fr;}
    .cta-band{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:repeat(2,1fr); row-gap:36px;}
    .section-head{flex-direction:column; align-items:flex-start;}
    .sticky-cta span{display:none;}
}
@media (max-width: 560px){
    .wrap{padding:0 20px;}
    .divisions-grid{grid-template-columns:1fr;}
    .pillars-grid{grid-template-columns:1fr;}
    .metrics-inner{grid-template-columns:1fr;}
    .metric{border-right:none;}
    .footer-grid{grid-template-columns:1fr;}
    .sticky-cta{left:20px; right:20px; transform:translateY(140%); width:auto;}
    .sticky-cta.show{transform:translateY(0);}
}

@media (prefers-reduced-motion: reduce){
    *{transition:none !important; scroll-behavior:auto !important;}
    .reveal{opacity:1; transform:none;}
}

/* ============================================
   FORMULÁRIO DE DIAGNÓSTICO
   ============================================ */

.diagnostic-wrapper {
    padding: 60px 0;
    background: var(--white);
}

.diagnostic-wrapper .cta-band {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 64px;
    align-items: start;
}

.diagnostic-wrapper .cta-band h2 em {
    font-style: normal;
    color: var(--accent);
}

.form-step {
    animation: fadeInStep 0.4s ease forwards;
}

@keyframes fadeInStep {
    0% {
        opacity: 0;
        transform: translateY(12px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Estilos para checkboxes e radios personalizados */
.form-step input[type="checkbox"],
.form-step input[type="radio"] {
    accent-color: var(--accent);
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.form-step label:has(input[type="checkbox"]),
.form-step label:has(input[type="radio"]) {
    cursor: pointer;
    transition: background 0.2s ease;
}

.form-step label:has(input[type="checkbox"]:checked),
.form-step label:has(input[type="radio"]:checked) {
    border-color: var(--accent) !important;
    background: var(--accent-dim);
}

/* Responsividade do formulário */
@media (max-width: 900px) {
    .diagnostic-wrapper .cta-band {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .diagnostic-wrapper {
        padding: 40px 0;
    }
    
    .form-step .row {
        margin-bottom: 14px;
    }
}

@media (max-width: 600px) {
    .diagnostic-wrapper {
        padding: 30px 0;
    }
    
    .form-step label:has(input[type="checkbox"]) {
        font-size: 13px !important;
        padding: 6px 10px !important;
    }
    
    .form-step .row input,
    .form-step .row select,
    .form-step .row textarea {
        font-size: 13px !important;
        padding: 10px 12px !important;
    }
    
    .diagnostic-wrapper .cta-band .reveal .hero-sub {
        font-size: 16px !important;
    }
    
    .diagnostic-wrapper .cta-band .reveal h2 {
        font-size: clamp(24px, 5vw, 32px) !important;
    }
    
    .form-step .form-step > div {
        flex-wrap: wrap;
    }
    
    .form-step .form-step > div span:last-child {
        margin-left: 0 !important;
        width: 100%;
        text-align: left;
        margin-top: 4px;
    }

	/* ============================================
   MEGA MENU - NOVO ESTILO
   ============================================ */

.mega-panel {
    position: fixed;
    top: 72px;
    left: 0;
    right: 0;
    background: var(--white);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 24px 48px rgba(20,23,28,0.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
    z-index: 150;
    max-height: calc(100vh - 72px);
    overflow-y: auto;
}

.mega-panel.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.mega-panel .mega-close-btn {
    position: absolute;
    top: 16px;
    right: 24px;
    font-size: 20px;
    color: var(--ink-faint);
    cursor: pointer;
    z-index: 10;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s;
    background: var(--gray-50);
    border: none;
    font-family: 'Inter', sans-serif;
}

.mega-panel .mega-close-btn:hover {
    background: var(--gray-100);
    color: var(--ink);
    transform: rotate(90deg);
}

.mega-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    padding: 40px 32px 48px;
    align-items: start;
}

.mega-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 32px;
}

.mega-col {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mega-col-list .eyebrow {
    margin-bottom: 16px;
}

.mega-link {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 10px 12px;
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: var(--ink);
    border-radius: 4px;
    transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
    text-decoration: none;
}

.mega-link:hover {
    background: var(--gray-50);
    color: var(--accent);
    padding-left: 18px;
}

.mega-link-idx {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px;
    font-weight: 400;
    color: var(--ink-faint);
    min-width: 28px;
}

.mega-link.mega-all {
    color: var(--accent);
    margin-top: 4px;
    font-size: 14px;
}

.mega-link.mega-all:hover {
    background: var(--accent-dim);
}

/* Particle Container para o mega menu */
.mega-particle-container {
    position: relative;
    width: 100%;
    height: 320px;
    border-radius: 4px;
    overflow: hidden;
    background: var(--dark);
    border: 1px solid var(--dark-line);
}

.mega-particle-container canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
}

.mega-particle-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(14,17,22,0.4);
    backdrop-filter: blur(2px);
}

.mega-particle-overlay p {
    font-family: 'Space Grotesk', sans-serif;
    max-width: 30ch;
    line-height: 1.6;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.mega-col-carousel .eyebrow {
    margin-bottom: 14px;
}

.mega-backdrop {
    position: fixed;
    inset: 0;
    top: 72px;
    background: rgba(14,17,22,0.25);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s ease;
    z-index: 90;
}

.mega-backdrop.open {
    opacity: 1;
    pointer-events: auto;
}

/* Responsivo */
@media (max-width: 1024px) {
    .mega-inner {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 32px 24px 40px;
    }
    
    .mega-grid-2col {
        grid-template-columns: 1fr 1fr;
        gap: 4px 16px;
    }
    
    .mega-particle-container {
        height: 200px;
    }
}

@media (max-width: 768px) {
    .mega-panel {
        top: 64px;
        max-height: calc(100vh - 64px);
    }
    
    .mega-grid-2col {
        grid-template-columns: 1fr;
        gap: 2px;
    }
    
    .mega-inner {
        padding: 24px 16px 32px;
        gap: 24px;
    }
    
    .mega-particle-container {
        height: 160px;
    }
    
    .mega-panel .mega-close-btn {
        top: 12px;
        right: 16px;
        width: 32px;
        height: 32px;
        font-size: 16px;
    }
    
    .mega-link {
        font-size: 14px;
        padding: 8px 10px;
    }
}

@media (max-width: 480px) {
    .mega-particle-container {
        height: 140px;
    }
    
    .mega-particle-overlay p {
        font-size: 12px !important;
    }
}

	/* ============================================
   MENU DRAWER - SUBMENUS
   ============================================ */

.menu-drawer-panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 440px;
    background: var(--dark);
    color: var(--white);
    padding: 100px 44px 40px;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
}

.menu-drawer.open .menu-drawer-panel {
    transform: translateX(0);
}

.menu-drawer-panel::-webkit-scrollbar {
    width: 4px;
}

.menu-drawer-panel::-webkit-scrollbar-track {
    background: var(--dark-line);
}

.menu-drawer-panel::-webkit-scrollbar-thumb {
    background: var(--accent);
    border-radius: 2px;
}

.menu-close {
    position: absolute;
    top: 28px;
    right: 28px;
    background: none;
    border: 1px solid var(--dark-line);
    color: var(--white);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 16px;
    cursor: pointer;
    transition: border-color 0.2s, transform 0.2s;
}

.menu-close:hover {
    border-color: var(--white);
    transform: rotate(90deg);
}

.menu-drawer-header {
    margin-bottom: 20px;
    flex-shrink: 0;
}

.menu-drawer-links {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow-y: auto;
}

/* Links principais */
.menu-drawer-links .menu-link {
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 600;
    font-size: 22px;
    color: var(--white);
    padding: 14px 0;
    border-bottom: 1px solid var(--dark-line);
    transition: color 0.18s ease, transform 0.18s ease;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.menu-drawer-links .menu-link:hover {
    color: var(--accent);
    transform: translateX(6px);
}

/* Submenu toggle */
.menu-submenu {
    border-bottom: 1px solid var(--dark-line);
}

.menu-submenu .menu-submenu-toggle {
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 600;
    font-size: 22px;
    color: var(--white);
    padding: 14px 0;
    transition: color 0.18s ease, transform 0.18s ease;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    background: none;
    border: none;
    width: 100%;
}

.menu-submenu .menu-submenu-toggle:hover {
    color: var(--accent);
}

.menu-submenu .menu-submenu-toggle .menu-arrow {
    font-size: 16px;
    transition: transform 0.3s ease;
    color: var(--ink-faint);
}

.menu-submenu.open .menu-submenu-toggle .menu-arrow {



	/* ============================================
   MENU DRAWER - DROPDOWN ACCORDION
   ============================================ */

.menu-drawer-panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 420px;
    background: var(--dark);
    color: var(--white);
    padding: 100px 36px 40px;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
}

.menu-drawer.open .menu-drawer-panel {
    transform: translateX(0);
}

.menu-drawer-panel::-webkit-scrollbar {
    width: 4px;
}

.menu-drawer-panel::-webkit-scrollbar-track {
    background: var(--dark-line);
}

.menu-drawer-panel::-webkit-scrollbar-thumb {
    background: var(--accent);
    border-radius: 2px;
}

.menu-close {
    position: absolute;
    top: 24px;
    right: 24px;
    background: none;
    border: 1px solid var(--dark-line);
    color: var(--white);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 16px;
    cursor: pointer;
    transition: border-color 0.2s, transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu-close:hover {
    border-color: var(--white);
    transform: rotate(90deg);
}

.menu-drawer-header {
    margin-bottom: 24px;
    flex-shrink: 0;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--dark-line);
}

.menu-drawer-header .eyebrow {
    font-size: 11px;
    letter-spacing: 0.15em;
    color: #6b7280;
}

/* ===== LINKS PRINCIPAIS ===== */
.menu-drawer-links {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow-y: auto;
}

.menu-drawer-links .menu-link {
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 600;
    font-size: 20px;
    color: var(--white);
    padding: 14px 0;
    border-bottom: 1px solid var(--dark-line);
    transition: color 0.18s ease, transform 0.18s ease;
    text-decoration: none;
}

.menu-drawer-links .menu-link:hover {
    color: var(--accent);
    transform: translateX(6px);
}

.menu-drawer-links .menu-link.menu-secondary {
    font-size: 16px;
    color: #9aa1ad;
    font-weight: 500;
    border-bottom: none;
    padding: 10px 0;
}

.menu-drawer-links .menu-link.menu-secondary:hover {
    color: var(--white);
}

/* ===== SEPARADOR ===== */
.menu-divider {
    height: 1px;
    background: var(--dark-line);
    margin: 8px 0 12px;
}

/* ===== DROPDOWN ===== */
.menu-dropdown {
    border-bottom: 1px solid var(--dark-line);
}

.menu-dropdown-toggle {
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 600;
    font-size: 20px;
    color: var(--white);
    padding: 14px 0;
    background: none;
    border: none;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: color 0.18s ease;
}

.menu-dropdown-toggle:hover {
    color: var(--accent);
}

.menu-dropdown-toggle .dropdown-arrow {
    font-size: 14px;
    color: #6b7280;
    transition: transform 0.3s ease;
}

.menu-dropdown.open .menu-dropdown-toggle .dropdown-arrow {
    transform: rotate(180deg);
    color: var(--accent);
}

/* Itens do dropdown */
.menu-dropdown-items {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    padding: 0 0 0 20px;
}

.menu-dropdown.open .menu-dropdown-items {
    max-height: 500px;
    padding: 0 0 12px 20px;
}

.menu-dropdown-items a {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #c3c8d1;
    padding: 10px 0;
    border-bottom: 1px solid rgba(38, 43, 52, 0.4);
    text-decoration: none;
    transition: color 0.18s ease, transform 0.18s ease;
}

.menu-dropdown-items a:last-child {
    border-bottom: none;
}

.menu-dropdown-items a:hover {
    color: var(--accent);
    transform: translateX(6px);
}

.menu-dropdown-items .menu-view-all {
    color: var(--accent);
    font-weight: 600;
    font-size: 14px;
    margin-top: 4px;
}

.menu-dropdown-items .menu-view-all:hover {
    color: var(--white);
}

/* ===== FOOTER ===== */
.menu-drawer-footer {
    margin-top: auto;
    padding-top: 24px;
    flex-shrink: 0;
    border-top: 1px solid var(--dark-line);
}

.menu-drawer-footer .btn {
    width: 100%;
    justify-content: center;
    padding: 14px;
}

/* ===== RESPONSIVO ===== */
@media (max-width: 480px) {
    .menu-drawer-panel {
        padding: 80px 20px 30px;
        max-width: 100%;
    }
    
    .menu-drawer-links .menu-link,
    .menu-dropdown-toggle {
        font-size: 17px;
        padding: 12px 0;
    }
    
    .menu-dropdown-items a {
        font-size: 14px;
        padding: 8px 0;
    }
    
    .menu-close {
        top: 16px;
        right: 16px;
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
    
    .menu-drawer-links .menu-link.menu-secondary {
        font-size: 14px;
    }
    
    .menu-dropdown.open .menu-dropdown-items {
        padding: 0 0 10px 16px;
    }
}

	/* ============================================
   MENU DRAWER PROFISSIONAL
   ============================================ */

.menu-drawer {
    position: fixed;
    inset: 0;
    z-index: 1000;
    visibility: hidden;
    pointer-events: none;
}

.menu-drawer.active {
    visibility: visible;
    pointer-events: auto;
}

.menu-drawer-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.menu-drawer.active .menu-drawer-overlay {
    opacity: 1;
}

.menu-drawer-panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 400px;
    background: var(--dark);
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.menu-drawer.active .menu-drawer-panel {
    transform: translateX(0);
}

/* HEADER */
.menu-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 28px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.menu-drawer-brand {
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: var(--white);
    letter-spacing: -0.01em;
}

.menu-drawer-brand span {
    color: var(--accent);
}

.menu-drawer-close {
    background: none;
    border: none;
    color: #6b7280;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu-drawer-close:hover {
    color: var(--white);
    background: rgba(255, 255, 255, 0.06);
}

/* BODY */
.menu-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px 20px;
}

.menu-drawer-body::-webkit-scrollbar {
    width: 3px;
}

.menu-drawer-body::-webkit-scrollbar-track {
    background: transparent;
}

.menu-drawer-body::-webkit-scrollbar-thumb {
    background: var(--accent);
    border-radius: 10px;
}

/* ITENS DO MENU */
.menu-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 16px;
    border-radius: 10px;
    color: #e5e7eb;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.2s ease;
    margin-bottom: 2px;
    position: relative;
}

.menu-item:hover {
    background: rgba(255, 255, 255, 0.05);
    color: var(--white);
    transform: translateX(4px);
}

.menu-item-icon {
    font-size: 18px;
    width: 28px;
    flex-shrink: 0;
}

.menu-item-text {
    flex: 1;
}

.menu-item.menu-item-secondary {
    font-size: 14px;
    color: #9aa1ad;
    padding: 12px 16px;
}

.menu-item.menu-item-secondary:hover {
    color: var(--white);
}

/* DROPDOWN */
.menu-dropdown {
    margin-bottom: 2px;
}

.menu-dropdown-btn {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 16px;
    border-radius: 10px;
    color: #e5e7eb;
    background: none;
    border: none;
    width: 100%;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.2s ease;
    text-align: left;
}

.menu-dropdown-btn:hover {
    background: rgba(255, 255, 255, 0.05);
    color: var(--white);
    transform: translateX(4px);
}

.menu-dropdown-btn .menu-item-icon {
    font-size: 18px;
    width: 28px;
    flex-shrink: 0;
}

.menu-dropdown-btn .menu-item-text {
    flex: 1;
}

.menu-dropdown-btn .menu-dropdown-arrow {
    font-size: 12px;
    color: #6b7280;
    transition: transform 0.3s ease;
    margin-left: auto;
}

.menu-dropdown.open .menu-dropdown-btn .menu-dropdown-arrow {
    transform: rotate(180deg);
    color: var(--accent);
}

.menu-dropdown-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.3s ease;
    opacity: 0;
    padding-left: 12px;
}

.menu-dropdown.open .menu-dropdown-content {
    max-height: 400px;
    opacity: 1;
}

.menu-dropdown-content a {
    display: flex;
    align-items: center;
    padding: 10px 16px 10px 52px;
    color: #9aa1ad;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    border-radius: 8px;
    transition: all 0.2s ease;
    position: relative;
}

.menu-dropdown-content a::before {
    content: '';
    position: absolute;
    left: 32px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.menu-dropdown-content a:hover {
    color: var(--white);
    background: rgba(255, 255, 255, 0.04);
    transform: translateX(4px);
}

.menu-dropdown-content a:hover::before {
    opacity: 1;
}

.menu-dropdown-content .menu-view-all {
    color: var(--accent);
    font-weight: 600;
    font-size: 13px;
    margin-top: 4px;
}

.menu-dropdown-content .menu-view-all:hover {
    color: var(--white);
}

/* DIVISÓRIA */
.menu-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.06);
    margin: 12px 16px;
}

/* FOOTER */
.menu-drawer-footer {
    padding: 16px 20px 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.menu-drawer-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 24px;
    background: var(--accent);
    color: var(--white);
    text-decoration: none;
    border-radius: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.2s ease;
    width: 100%;
}

.menu-drawer-cta:hover {
    background: #1a2fcc;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(37, 64, 255, 0.3);
}

.menu-drawer-cta .btn-arrow {
    display: inline-block;
    transition: transform 0.2s ease;
}

.menu-drawer-cta:hover .btn-arrow {
    transform: translateX(4px);
}

/* RESPONSIVO */
@media (max-width: 480px) {
    .menu-drawer-panel {
        max-width: 100%;
    }
    
    .menu-drawer-header {
        padding: 20px 20px 16px;
    }
    
    .menu-drawer-body {
        padding: 12px 16px 16px;
    }
    
    .menu-item,
    .menu-dropdown-btn {
        font-size: 15px;
        padding: 12px 14px;
    }
    
    .menu-dropdown-content a {
        padding: 9px 14px 9px 44px;
        font-size: 13px;
    }
    
    .menu-dropdown-content a::before {
        left: 28px;
    }
}
}