/* groeivault.ink — Sleek fintech vibe with subtle crypto cues */
:root{
  --bg:#0b1220;
  --bg2:#0e1526;
  --surface:#0f172a;
  --ink:#e6efff;
  --muted:#b6c1e6;
  --primary:#7c5cff; /* violet */
  --accent:#22d3ee;  /* cyan */
  --success:#10b981;
  --warning:#f59e0b;
  --border: rgba(255,255,255,.14);
  --card: rgba(255,255,255,.06);
  --radius:16px;
  --radius-lg:22px;
  --shadow: 0 20px 50px rgba(0,0,0,.45);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; color:var(--ink);
  background:
    radial-gradient(900px 700px at -10% -20%, rgba(124,92,255,.18), transparent 60%),
    radial-gradient(900px 800px at 110% 0%, rgba(34,211,238,.18), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
  background-attachment: fixed;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial;
  line-height:1.65; letter-spacing:.2px;
}

.container{max-width:1180px;margin:0 auto;padding:0 20px}

/* Header */
.header{position:sticky; top:0; z-index:50; backdrop-filter: blur(10px);
  background: rgba(8,12,22,.55); border-bottom:1px solid var(--border)}
.nav{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:12px 0}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-weight:900}
.brand .logo{width:36px; height:36px; border-radius:12px; background:
  conic-gradient(from 0deg, var(--accent), var(--primary), #60a5fa, var(--accent)); box-shadow:var(--shadow)}
nav ul{display:flex; gap:18px; list-style:none; padding:0; margin:0; justify-content:center}
nav a{color:var(--ink); text-decoration:none; font-weight:700; opacity:.9}
nav a:hover{opacity:1}
.actions{display:flex; justify-content:flex-end; gap:10px}
.btn{display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:12px;
  border:1px solid var(--border); background:var(--card); color:var(--ink); font-weight:800; box-shadow:var(--shadow)}
.btn-primary{border:none; background:linear-gradient(135deg,var(--primary),#5eead4); color:#0b1220}
.btn-ghost{background:transparent}
.burger{display:none; cursor:pointer; flex-direction:column; gap:5px; justify-self:end; margin-top: 15px; margin-right: 10px;}
.burger span{width:24px; height:3px; border-radius:2px; background:#cfd4ff}

@media (max-width:920px){
  .nav{grid-template-columns:1fr auto auto}
  nav ul{display:none; position:absolute; left:20px; right:20px; top:60px; padding:12px;
    background:rgba(9,13,24,.95); border:1px solid var(--border); border-radius:14px; flex-direction:column; gap:10px}
  nav ul.show{display:flex}
  .burger{display:flex}
}

/* Hero */
.hero{position:relative; overflow:hidden; padding:70px 0 40px}
.hero-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:26px; align-items:center}
.kicker{display:inline-block; text-transform:uppercase; letter-spacing:.12em; font-weight:900; color:#cfd4ff; border:1px solid var(--border); padding:6px 10px; border-radius:999px; background:rgba(255,255,255,.06)}
h1{font-size:clamp(2.2rem, 1rem + 3.2vw, 3.6rem); line-height:1.06; margin:.2em 0 .35em}
.lead{color:var(--muted)}
.art{aspect-ratio:4/3; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--card); position:relative; overflow:hidden; isolation:isolate}
.gridlines{position:absolute; inset:0; background:
  linear-gradient(transparent 95%, rgba(255,255,255,.08) 95%) 0 0/100% 40px,
  linear-gradient(90deg, transparent 95%, rgba(255,255,255,.08) 95%) 0 0/40px 100%;
  animation: drift 18s linear infinite;
}
@keyframes drift{to{transform: translateY(-40px)}}
.coin{position:absolute; width:120px; height:120px; border-radius:50%; border:1px solid var(--border);
  background: radial-gradient(40% 40% at 30% 30%, rgba(124,92,255,.6), transparent 60%),
              radial-gradient(50% 50% at 70% 70%, rgba(34,211,238,.55), transparent 60%);
  box-shadow: 0 12px 40px rgba(124,92,255,.25); filter: blur(0.2px);
  animation: float 8s ease-in-out infinite alternate;
}
.coin.c2{width:90px; height:90px; right:12%; top:18%; animation-duration:10s}
.coin.c3{width:70px; height:70px; right:30%; bottom:14%; animation-duration:12s}
@keyframes float{to{transform: translateY(-10px) scale(1.02)}}

.metrics{display:flex; gap:14px; margin-top:12px; flex-wrap:wrap}
.metric{display:grid; gap:2px; padding:10px 12px; background:rgba(255,255,255,.06); border:1px solid var(--border); border-radius:12px}
.metric .num{font-size:1.2rem; font-weight:900}

/* Ticker */
.ticker{border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:rgba(255,255,255,.04); overflow:hidden}
.ticker__inner{display:flex; gap:40px; padding:10px 0; animation: ticker 22s linear infinite; font-weight:800}
.ticker__inner span{white-space:nowrap}
@keyframes ticker{to{transform: translateX(-50%)}}

/* Sections */
.section{padding:70px 0}
.section h2{font-size:clamp(1.6rem, 1rem + 2.2vw, 2.4rem); margin:.15em 0 .6em}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px}
.card h3{margin:.2em 0 .4em}
.subtle{color:var(--muted)}

/* Timeline */
.timeline{display:grid; grid-template-columns:repeat(5,1fr); gap:12px}
.stage{background:rgba(255,255,255,.06); border:1px solid var(--border); border-radius:14px; padding:14px; position:relative}
.stage::before{content:""; position:absolute; left:14px; right:14px; top:-10px; height:3px; background:linear-gradient(90deg,var(--primary),var(--accent)); border-radius:999px}
@media (max-width:900px){
  .timeline{grid-template-columns:1fr}
  .stage::before{left:-10px; right:auto; top:14px; width:3px; height:calc(100% - 28px);}
}

/* Carousel (snap) */
.carousel{display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px}
.carousel > .card{min-width:280px; scroll-snap-align:start}

/* Comparison */
.table{width:100%; border-collapse:collapse; background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:12px; overflow:hidden}
.table th,.table td{padding:12px 14px; border-bottom:1px solid var(--border); text-align:left}
.table th{background:rgba(255,255,255,.06)}

/* CTA form */
.cta{display:grid; grid-template-columns:1fr .9fr; gap:18px; align-items:start}
.form{background:rgba(255,255,255,.06); border:1px solid var(--border); border-radius:18px; padding:18px; box-shadow:var(--shadow)}
form .row{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom: 10px;}
input,select,textarea,button{width:100%; padding:14px; border-radius:12px; border:1px solid var(--border); background:rgba(255,255,255,.06); color:var(--ink); font-size:1rem}
input::placeholder{color:#cdd5ff}
button{cursor:pointer; border:none; background:linear-gradient(135deg,var(--primary),#5eead4); color:#061022; font-weight:900}
button:disabled{opacity:.6; cursor:not-allowed}
.badge{display:inline-block; padding:6px 10px; border-radius:999px; border:1px dashed var(--border); background:rgba(255,255,255,.04)}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .cta{grid-template-columns:1fr}
}

/* Footer */
.footer{border-top:1px solid var(--border); background:rgba(0,0,0,.35); margin-top:60px}
.footer-inner{padding:24px 0; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:18px}
.footer a{color:#cfd5ff; text-decoration:none}
@media (max-width:900px){ .footer-inner{grid-template-columns:1fr 1fr} }
@media (max-width:600px){ .footer-inner{grid-template-columns:1fr; text-align:center} }

/* Cookie banner */
.cookie{position:fixed; left:16px; right:16px; bottom:16px; z-index:60; display:none; gap:14px; align-items:center; flex-wrap:nowrap;
  background:rgba(15,23,42,.9); border:1px solid var(--border); border-radius:16px; padding:14px; box-shadow:var(--shadow)}
.cookie.show{display:flex}
.cookie > .text{flex:1 1 auto; min-width:260px}
.cookie .actions{margin-left:auto; display:flex; gap:10px; align-items:center; flex-wrap:nowrap}
.cookie .actions a, .cookie .actions button{display:inline-flex; align-items:center; justify-content:center; padding:12px 16px; min-height:46px;
  border-radius:12px; font-weight:800; text-decoration:none; white-space:nowrap; flex:0 0 auto; border:1px solid var(--border); box-shadow:var(--shadow)}
.cookie .actions a{background:transparent; color:var(--ink)}
.cookie .actions button{background:linear-gradient(135deg,var(--primary),#5eead4); color:#061022; border:none}
@media (max-width:980px){
  .cookie{flex-direction:column; align-items:stretch}
  .cookie .actions{width:100%; flex-direction:column}
  .cookie .actions a, .cookie .actions button{width:100%}
  .carousel {flex-direction: column;}
}

/* Reveal */
.reveal{opacity:0; transform: translateY(12px); transition: all .7s ease}
.reveal.visible{opacity:1; transform: translateY(0)}

/* intl-tel-input */
.iti{width:100%}
.iti input{width:100%!important; padding:14px; border-radius:12px; border:1px solid var(--border); background:rgba(255,255,255,.06); color:var(--ink)}
