/* NovaRemix — violet/mint product studio theme */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Fira+Code:wght@400;500;600&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Outfit',system-ui,sans-serif;background:#0b0f1a;color:#e8edf8;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none}

:root{
  --bg:#0b0f1a;--bg-elevated:#121829;--bg-card:#171f33;--bg-soft:#1c2540;
  --ink:#e8edf8;--muted:#94a3c4;--dim:#64748b;
  --violet:#8b5cf6;--violet-soft:#a78bfa;--mint:#2dd4bf;--glow:rgba(139,92,246,.2);
  --border:rgba(232,237,248,.08);--border-soft:rgba(232,237,248,.14);
  --radius:16px;--radius-sm:10px;--max:1240px;
  --ease:cubic-bezier(.4,0,.2,1);--dur:.45s;
}

.nr-ambient{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.nr-ambient__mesh{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% -10%,rgba(139,92,246,.15),transparent),radial-gradient(ellipse 60% 40% at 90% 10%,rgba(45,212,191,.1),transparent)}
main,header,footer{position:relative;z-index:1}

.nr-topbar{position:sticky;top:0;z-index:100;background:rgba(11,15,26,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.nr-topbar.is-scrolled{background:rgba(11,15,26,.95);box-shadow:0 8px 32px rgba(0,0,0,.35)}
.nr-topbar__inner{max-width:var(--max);margin:0 auto;padding:.9rem 1.5rem;display:flex;align-items:center;gap:2rem}
.nr-logo img{height:36px;width:auto}
.nr-nav{display:flex;gap:1.25rem;margin-left:auto;flex-wrap:wrap}
.nr-nav a{font-size:.76rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);transition:color var(--dur) var(--ease)}
.nr-nav a:hover{color:var(--mint)}
.nr-cta{padding:.6rem 1.15rem;background:linear-gradient(135deg,var(--violet),#6d28d9);color:#fff;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.nr-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--glow)}

.nr-hero{position:relative;min-height:88vh;overflow:hidden;border-bottom:1px solid var(--border)}
.nr-hero__stage{position:absolute;inset:0}
.nr-hero__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease),transform 10s var(--ease);animation:nrKen 20s var(--ease) infinite alternate}
.nr-hero__stage img.is-fading{opacity:0;animation:none}
@keyframes nrKen{from{transform:scale(1)}to{transform:scale(1.05)}}
.nr-hero__shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,15,26,.92) 0%,rgba(11,15,26,.7) 42%,rgba(11,15,26,.25) 100%),linear-gradient(to top,rgba(11,15,26,.9),transparent 50%)}
.nr-hero__content{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:5rem 1.5rem 8rem;display:flex;flex-direction:column;justify-content:center;min-height:88vh}
.nr-hero__tag{font-family:'Fira Code',monospace;font-size:.68rem;color:var(--mint);text-transform:uppercase;letter-spacing:.14em;margin-bottom:1rem}
.nr-hero h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;margin-bottom:1rem}
.nr-hero h1 span{background:linear-gradient(135deg,var(--violet-soft),var(--mint));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.nr-hero__desc{color:var(--muted);max-width:520px;margin-bottom:1.75rem;font-size:1.05rem}
.nr-hero__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:2.5rem}
.nr-btn{padding:.72rem 1.4rem;font-weight:600;font-size:.86rem;border-radius:999px;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.nr-btn--solid{background:linear-gradient(135deg,var(--violet),#6d28d9);color:#fff}
.nr-btn--solid:hover{transform:translateY(-2px);box-shadow:0 10px 28px var(--glow)}
.nr-btn--ghost{background:rgba(232,237,248,.06);color:var(--ink);border:1px solid var(--border-soft)}
.nr-btn--ghost:hover{border-color:var(--violet-soft)}
.nr-hero__dots{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:3}
.nr-hero__dots button{width:40px;height:4px;border-radius:999px;background:rgba(232,237,248,.2);overflow:hidden;transition:opacity var(--dur) var(--ease)}
.nr-hero__dots button.is-active{background:var(--violet-soft)}
.nr-hero__dots button.is-active::after{content:"";display:block;height:100%;animation:nrBar 4.5s linear forwards;background:var(--mint)}
@keyframes nrBar{from{width:0}to{width:100%}}
.nr-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;max-width:var(--max);margin:-3rem auto 0;padding:0 1.5rem;position:relative;z-index:3}
.nr-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:0 16px 40px rgba(0,0,0,.35);transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.nr-stat:hover{transform:translateY(-3px);border-color:rgba(139,92,246,.3)}
.nr-stat strong{display:block;font-size:1.5rem;font-weight:700;font-family:'Fira Code',monospace;color:var(--mint)}
.nr-stat span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

.nr-partners{padding:5rem 1.5rem 3rem;border-bottom:1px solid var(--border)}
.nr-partners__label{font-family:'Fira Code',monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--dim);text-align:center;margin-bottom:2rem}
.nr-partners__grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.nr-partners__item{display:flex;align-items:center;justify-content:center;min-height:80px;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.nr-partners__item:hover{transform:translateY(-3px);border-color:rgba(45,212,191,.25)}
.nr-partners__item img{height:36px;width:auto;max-width:120px;opacity:.95}

.nr-section{padding:5rem 1.5rem}
.nr-section--alt{background:var(--bg-elevated)}
.nr-wrap{max-width:var(--max);margin:0 auto}
.nr-section__label{font-family:'Fira Code',monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--violet-soft);margin-bottom:.5rem}
.nr-section__title{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;letter-spacing:-.02em;margin-bottom:.6rem}
.nr-section__sub{color:var(--muted);max-width:560px;margin-bottom:2rem}

.nr-services__track{display:flex;gap:1rem;overflow-x:auto;padding:0 1.5rem 1rem;scroll-snap-type:x mandatory}
.nr-services__track::-webkit-scrollbar{height:6px}
.nr-services__track::-webkit-scrollbar-thumb{background:var(--bg-soft);border-radius:999px}
.nr-service{display:flex;flex-direction:column;flex:0 0 min(340px,85vw);scroll-snap-align:start;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.nr-service:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.28);box-shadow:0 16px 40px rgba(0,0,0,.35)}
.nr-service__media{flex-shrink:0;width:100%;height:180px;overflow:hidden;background:var(--bg-soft);line-height:0}
.nr-service__media img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;max-width:none}
.nr-service__body{padding:1.25rem;flex:1}
.nr-service__num{font-family:'Fira Code',monospace;font-size:.62rem;color:var(--violet);font-weight:600}
.nr-service h3{font-size:1.05rem;font-weight:700;margin:.35rem 0}
.nr-service p{font-size:.84rem;color:var(--muted);line-height:1.55;margin-bottom:.75rem}
.nr-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.nr-tags span{font-family:'Fira Code',monospace;font-size:.6rem;padding:.2rem .5rem;border:1px solid var(--border);border-radius:999px;color:var(--dim)}

.nr-work{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}
.nr-work__card{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--bg-card);min-height:320px;transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.nr-work__card:hover{transform:translateY(-4px);border-color:rgba(45,212,191,.28)}
.nr-work__card > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;transition:opacity .6s var(--ease),transform 6s var(--ease)}
.nr-work__card:hover > img{opacity:.55;transform:scale(1.04)}
.nr-work__body{position:absolute;inset:auto 0 0 0;z-index:1;padding:1.25rem;background:linear-gradient(transparent,rgba(11,15,26,.95))}
.nr-work__body h3{font-size:1rem;margin-bottom:.3rem}
.nr-work__body p{font-size:.8rem;color:var(--muted)}
.nr-nets{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.nr-net{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .45rem;background:rgba(11,15,26,.7);border:1px solid var(--border);border-radius:999px;font-family:'Fira Code',monospace;font-size:.58rem;color:var(--muted)}
.nr-net img{flex-shrink:0;display:block;width:14px;height:14px;max-width:14px;max-height:14px;position:static;opacity:1;transform:none;object-fit:contain}
.nr-work__meta{font-family:'Fira Code',monospace;font-size:.64rem;color:var(--mint);margin-top:.35rem}

.nr-roadmap{display:grid;grid-template-columns:repeat(5,1fr);gap:.65rem}
.nr-roadmap__step{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.nr-roadmap__step:hover{transform:translateY(-3px);border-color:rgba(139,92,246,.25)}
.nr-roadmap__phase{font-family:'Fira Code',monospace;font-size:.64rem;color:var(--violet);font-weight:600;margin-bottom:.35rem}
.nr-roadmap__step h4{font-size:.9rem;margin-bottom:.45rem}
.nr-roadmap__step ul{list-style:none;font-size:.76rem;color:var(--muted)}
.nr-roadmap__step li::before{content:"· ";color:var(--mint)}
.nr-status{display:inline-block;font-size:.58rem;font-weight:600;text-transform:uppercase;padding:.16rem .42rem;border-radius:999px;margin-bottom:.45rem}
.nr-status--done{background:rgba(45,212,191,.15);color:var(--mint)}
.nr-status--active{background:rgba(139,92,246,.18);color:var(--violet-soft)}
.nr-status--next{background:rgba(100,116,139,.15);color:var(--dim)}
.nr-status--vision{background:rgba(232,237,248,.08);color:var(--dim)}

.nr-culture{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}
.nr-culture__cell{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border)}
.nr-culture__cell img{width:100%;height:100%;object-fit:cover;transition:transform 5s var(--ease)}
.nr-culture__cell:hover img{transform:scale(1.04)}
.nr-culture__cap{position:absolute;inset:auto 0 0 0;padding:1rem 1.2rem;background:linear-gradient(transparent,rgba(11,15,26,.92))}
.nr-culture__cap strong{display:block;font-size:.9rem}
.nr-culture__cap span{font-family:'Fira Code',monospace;font-size:.62rem;color:var(--mint)}

.nr-team{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}
.nr-team__card{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.nr-team__card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(0,0,0,.4)}
.nr-team__card img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .8s var(--ease)}
.nr-team__card:hover img{transform:scale(1.04)}
.nr-team__info{position:absolute;inset:auto 0 0 0;padding:1rem 1.1rem;background:linear-gradient(transparent,rgba(11,15,26,.92))}
.nr-team__info h3{font-size:.95rem;font-weight:700}
.nr-team__info p{font-family:'Fira Code',monospace;font-size:.62rem;color:var(--violet-soft);margin-top:.15rem}

.nr-quote{max-width:var(--max);margin:0 auto;padding:2rem;border-radius:var(--radius);border:1px solid var(--border);border-left:3px solid var(--violet);background:var(--bg-card)}
.nr-quote blockquote{font-size:1.1rem;font-weight:500;line-height:1.55;margin-bottom:.75rem}
.nr-quote cite{font-style:normal;font-family:'Fira Code',monospace;font-size:.74rem;color:var(--muted)}

.nr-contact{display:grid;grid-template-columns:1fr 1.1fr;gap:.85rem}
.nr-contact__info,.nr-contact__form{padding:2.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}
.nr-contact__info h2{font-size:1.5rem;margin-bottom:.75rem}
.nr-contact__info p{color:var(--muted);font-size:.9rem;margin-bottom:.5rem}
.nr-field{margin-bottom:1rem}
.nr-field label{display:block;font-family:'Fira Code',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin-bottom:.35rem}
.nr-field input,.nr-field select,.nr-field textarea{width:100%;padding:.68rem .8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(0,0,0,.25);color:var(--ink);font:inherit}
.nr-field textarea{min-height:100px;resize:vertical}

.nr-footer{background:var(--bg-elevated);padding:3rem 1.5rem 2rem;border-top:1px solid var(--border)}
.nr-footer__grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.nr-footer h4{font-size:.68rem;font-family:'Fira Code',monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--violet-soft);margin-bottom:.75rem}
.nr-footer ul{list-style:none;font-size:.84rem;color:var(--muted)}
.nr-footer li{margin-bottom:.4rem}
.nr-footer__bottom{max-width:var(--max);margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.74rem;display:flex;justify-content:space-between;color:var(--dim)}

.nr-page-hero{padding:6.5rem 1.5rem 3rem;border-bottom:1px solid var(--border);background:var(--bg-elevated)}
.nr-page-hero h1{font-size:2.3rem;font-weight:700}
.nr-list{max-width:var(--max);margin:0 auto;padding:3rem 1.5rem}
.nr-list__search{width:100%;max-width:400px;padding:.68rem .8rem;border:1px solid var(--border-soft);border-radius:var(--radius-sm);margin-bottom:2rem;font:inherit;background:var(--bg-card);color:var(--ink)}
.nr-card-list{display:flex;flex-direction:column;gap:.65rem}
.nr-card-item{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1.2rem 1.4rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease);cursor:default;width:100%;text-align:left;color:inherit}
.nr-card-item--clickable{cursor:pointer}
.nr-card-item--clickable:hover{transform:translateX(6px);border-color:rgba(139,92,246,.3)}
.nr-card-item__action{font-family:'Fira Code',monospace;font-size:.66rem;color:var(--mint);margin-top:.4rem}

.nr-modal{position:fixed;inset:0;z-index:400;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.nr-modal.is-open{opacity:1;pointer-events:auto}
.nr-modal__backdrop{position:absolute;inset:0;background:rgba(4,6,14,.8);backdrop-filter:blur(8px)}
.nr-modal__panel{position:relative;width:min(720px,100%);max-height:min(85vh,900px);overflow:auto;margin-top:2vh;padding:2rem;background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:0 40px 100px rgba(0,0,0,.55);transform:translateY(18px);transition:transform .4s var(--ease)}
.nr-modal.is-open .nr-modal__panel{transform:translateY(0)}
.nr-modal__close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border-soft);font-size:1.35rem;color:var(--muted)}
.nr-modal__body p{color:var(--muted);font-size:.95rem;line-height:1.7;margin-bottom:1rem}
.nr-modal__list{margin:.5rem 0 0 1.1rem;color:var(--muted);font-size:.9rem}
.nr-modal__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}
.nr-modal__tags span{font-size:.72rem;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--border);font-family:'Fira Code',monospace}

.nr-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.nr-reveal.is-in{opacity:1;transform:none}

.nr-burger{display:none;width:40px;height:40px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);position:relative}
.nr-burger::before,.nr-burger::after{content:"";position:absolute;left:9px;right:9px;height:2px;background:var(--ink)}
.nr-burger::before{top:13px}.nr-burger::after{bottom:13px}

@media(max-width:960px){
  .nr-stats{grid-template-columns:repeat(2,1fr);margin-top:-2rem}
  .nr-work,.nr-team{grid-template-columns:1fr}
  .nr-roadmap{grid-template-columns:1fr}
  .nr-culture,.nr-contact{grid-template-columns:1fr}
  .nr-footer__grid{grid-template-columns:1fr 1fr}
  .nr-partners__grid{grid-template-columns:repeat(2,1fr)}
  .nr-nav{display:none}.nr-burger{display:block}
  .nr-nav.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(11,15,26,.96);padding:1rem 1.5rem;border-bottom:1px solid var(--border)}
}
@media(prefers-reduced-motion:reduce){
  .nr-reveal{opacity:1;transform:none}
  .nr-hero__stage img{animation:none!important}
  .nr-hero__dots button.is-active::after{animation:none;width:100%}
}
