/* NVEXIS company site (W2): calm, dark, neutral. Each product card wears its own product's colours. */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url("/fonts/PlusJakartaSans-latin.woff2") format("woff2")}
:root{color-scheme:dark;--bg:#07080A;--text:#EDEDEE;--text2:#B4B4B9;--muted:#A3A3A8;--line:rgba(237,237,238,.14);--link:#F2C9B8;--focus:#F2C9B8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(820px 520px at 8% 6%,rgba(236,228,214,.13),transparent 62%),radial-gradient(760px 520px at 96% 40%,rgba(255,107,91,.16),transparent 60%),var(--bg);background-repeat:no-repeat;color:var(--text);font:400 16px/1.65 "Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--link);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;padding:10px 16px;border-radius:12px;background:#EDEDEE;color:#151517;font-weight:700;text-decoration:none;z-index:10}
.skip:focus{top:12px}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 24px;padding:18px 24px 8px;max-width:1040px;width:100%;margin:0 auto}
.mark{font-weight:800;font-size:20px;letter-spacing:.32em;color:var(--text);text-decoration:none;padding:8px 0}
.top nav{display:flex;flex-wrap:wrap;gap:0 4px}
.top nav a{color:var(--text2);text-decoration:none;font-weight:600;font-size:14.5px;padding:10px 10px;min-height:44px;display:inline-flex;align-items:center}
.top nav a:hover{color:var(--text)}
.top nav a[aria-current="page"]{color:var(--text);box-shadow:inset 0 -3px 0 var(--text)}
main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:24px 24px 56px}
.hero{padding:64px 0 40px}
.hero h1{margin:0;font-size:clamp(3rem,12vw,6.6rem);line-height:1;font-weight:800;letter-spacing:.2em;background:linear-gradient(100deg,#FFFFFF 10%,#ECE4D6 55%,#FF8F82 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.rule{width:84px;height:3px;border-radius:3px;margin:26px 0 0;background:linear-gradient(90deg,#ECE4D6,#FF6B5B);box-shadow:0 0 18px rgba(255,107,91,.7)}
.hero p{margin:18px 0 0;max-width:34em;font-size:clamp(1.05rem,2.6vw,1.3rem);color:var(--text2)}
.hero .small{font-size:.92rem;color:var(--muted)}
h2{font-size:1.3rem;margin:0 0 16px}
.cards{display:grid;grid-template-columns:1fr;gap:22px;list-style:none;margin:0;padding:0}
@media (min-width:760px){.cards{grid-template-columns:1fr 1fr}}
.card{border-radius:26px;transition:transform .25s ease-out;padding:28px 26px 26px;display:flex;flex-direction:column;gap:10px;min-height:250px}
.card h3{margin:0;font-size:1.7rem;line-height:1.15;font-weight:800}
.card p{margin:0}
.card .desc{font-size:1.1rem}
.card .go{margin-top:auto;padding-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;font:700 15px/1 "Plus Jakarta Sans",system-ui,sans-serif;text-decoration:none;padding:14px 20px;min-height:48px;border-radius:14px}
/* Aurora: warm beige card, as Aurora's own theme colour */
.aurora{background:linear-gradient(145deg,#F3ECDF,#E6DCC9);color:#2A2A2A;box-shadow:0 18px 50px rgba(236,228,214,.14)}
.aurora .tag{color:#5E574B}
.aurora .btn{background:#2A2A2A;color:#ECE4D6}
.aurora a:focus-visible{outline-color:#2A2A2A}
/* Coinloom: Graphite with Coral */
.coinloom{background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(0,0,0,.12)),#0B1E23;color:#EAF2F0;box-shadow:10px 10px 26px #020a0c,-6px -6px 18px #123039,0 0 60px rgba(255,107,91,.10);border:1px solid rgba(255,255,255,.06)}
.coinloom h3 span{color:#FF6B5B}
.coinloom .tag{color:#ABABAD}
.coinloom .soon{font-size:.95rem;color:#ABABAD}
.coinloom .btn{background:#FF6B5B;color:#1B1B1E}
.coinloom a:focus-visible{outline-color:#FF6B5B}
.tag{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
section{margin-top:56px}
.contact{display:grid;gap:6px;max-width:34em}
.contact p{margin:0}
.doc{max-width:760px;margin:0 auto;overflow-wrap:anywhere}
.doc h1{font-size:clamp(1.7rem,4.5vw,2.4rem);line-height:1.15;margin:12px 0 14px}
.doc h2{font-size:1.25rem;margin:2em 0 .5em}
.doc li{margin:.3em 0}
.doc hr{border:0;border-top:1px solid var(--line);margin:1.6em 0}
.notfound{text-align:center;max-width:620px;margin:40px auto}
.notfound h1{font-size:clamp(1.8rem,5vw,2.6rem);margin:0 0 12px}
.small{font-size:.86rem;color:var(--muted)}
footer{width:100%;max-width:1040px;margin:0 auto;padding:22px 24px 40px;color:var(--muted);font-size:.86rem;border-top:1px solid var(--line)}
footer p{margin:6px 0}
footer nav{display:flex;flex-wrap:wrap;gap:0 14px;margin:0 0 8px -2px}
footer nav a{color:var(--text2);padding:8px 2px;min-height:40px;display:inline-flex;align-items:center}

@media (prefers-reduced-motion:no-preference){
  .card:hover{transform:translateY(-6px)}
  @keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
  .hero h1,.hero p,.rule{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
  .rule{animation-delay:.1s}.hero p{animation-delay:.18s}.card{animation:rise .8s cubic-bezier(.2,.8,.2,1) .3s both}
  .cards li:nth-child(2){animation-delay:.42s}
}
