/* Innovolio v2.3 Landing Page — © 2025 Innovolio */
:root{
  --brand-blue:#1D3557;
  --brand-teal:#06D6A0;
  --brand-amber:#FFD166;
  --ink:#0f172a;
  --muted:#475569;
  --bg:#ffffff;
  --bg-alt:#f8fafc;
  --ring: rgba(6,214,160,0.4);
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0b1220; --bg-alt:#0e1528; --ink:#e5e7eb; --muted:#94a3b8; }
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji", "Segoe UI Symbol";
  background:var(--bg); color:var(--ink); line-height:1.5;
}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
header{
  position:sticky; top:0; z-index:50; backdrop-filter:saturate(1.2) blur(12px);
  background:color-mix(in srgb, var(--bg) 80%, transparent);
  border-bottom:1px solid color-mix(in srgb, var(--ink) 10%, transparent);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.nav .brand{display:flex;gap:12px;align-items:center}
.nav .brand img{height:28px}
.badge{font-size:12px;background:var(--brand-amber);color:#111;padding:2px 8px;border-radius:999px;font-weight:700}
nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}
nav a{color:var(--ink); text-decoration:none; font-weight:600}
nav a.cta{background:var(--brand-teal); color:#072e24; padding:10px 14px; border-radius:10px;}
nav a.cta:hover{filter:brightness(0.95)}
.hero{
  padding:84px 0 56px; background:linear-gradient(160deg, color-mix(in srgb, var(--brand-teal) 15%, var(--bg)) 0%, var(--bg) 60%);
}
.hero h1{font-size:48px; line-height:1.1; margin:0 0 12px}
.hero p{font-size:18px; color:var(--muted); max-width:800px}
.hero .actions{display:flex; gap:12px; margin-top:24px; flex-wrap:wrap}
.button{
  appearance:none; border:none; border-radius:12px; padding:14px 18px; font-weight:700; cursor:pointer;
  background:var(--brand-blue); color:white; box-shadow:0 6px 24px rgba(29,53,87,.25);
}
.button.secondary{background:var(--brand-amber); color:#111; box-shadow:none}
.button.ghost{background:transparent; color:var(--ink); border:1px solid color-mix(in srgb, var(--ink) 20%, transparent)}
.section{padding:64px 0; border-top:1px solid color-mix(in srgb, var(--ink) 8%, transparent); background:var(--bg)}
.section.alt{background:var(--bg-alt)}
.section h2{font-size:32px; margin:0 0 12px}
.section p.lead{color:var(--muted); max-width:900px}
.grid{display:grid; gap:20px}
.grid.cols-3{grid-template-columns:repeat(3, 1fr)}
.grid.cols-2{grid-template-columns:repeat(2, 1fr)}
@media (max-width:900px){
  .grid.cols-3{grid-template-columns:1fr}
  .grid.cols-2{grid-template-columns:1fr}
  .hero h1{font-size:38px}
}
.card{
  background:var(--bg); border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);
  border-radius:16px; padding:18px; box-shadow:0 6px 14px rgba(0,0,0,.04);
}
.card h3{margin:4px 0 8px}
.list{margin:0;padding-left:18px;color:var(--muted)}
.kicker{color:var(--brand-teal); font-weight:800; letter-spacing:.06em; text-transform:uppercase; font-size:12px}
.tag{
  display:inline-block; padding:6px 10px; border-radius:999px; background:color-mix(in srgb, var(--brand-teal) 16%, var(--bg));
  border:1px solid color-mix(in srgb, var(--ink) 10%, transparent); color:var(--ink); font-weight:600; font-size:12px; margin:4px 6px 0 0;
}
.inline-form{display:flex; gap:8px; flex-wrap:wrap; margin-top:16px}
.inline-form input[type="email"]{
  padding:12px 14px; border-radius:10px; border:1px solid color-mix(in srgb, var(--ink) 20%, transparent); flex:1; min-width:240px;
  outline:none;
}
.inline-form input[type="email"]:focus{box-shadow:0 0 0 6px var(--ring); border-color:var(--brand-teal)}
.inline-form button{padding:12px 18px; border-radius:10px; border:none; background:var(--brand-teal); color:#052b22; font-weight:800; cursor:pointer}
footer{padding:28px 0; color:var(--muted); font-size:14px}
footer .row{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap}
footer .powered{display:flex; gap:8px; align-items:center}
footer .powered img{height:18px}
.version{font-size:12px; color:var(--muted)}
/* Accessibility helpers */
.skip-link{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;}
.skip-link:focus{position:static; width:auto; height:auto; padding:8px; background:var(--brand-amber); color:#111; border-radius:6px}

.form{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form label{display:block;font-weight:600;margin:8px 0 6px}
.form input,.form textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--border);background:#FBFDFF}
.form button{margin-top:12px}
.footer{padding:28px 0;color:var(--muted);font-size:14px}
.small{font-size:13px;color:var(--muted)}
.notice{background:#0a1e3a;color:#e6eefc;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1)}

.chip{display:inline-flex; align-items:center; gap:10px; padding:8px 12px; border:1px solid var(--line); border-radius:30px; color:var(--muted)}
.chip .dot{width:8px;height:8px;border-radius:50%; background:var(--brand-2); box-shadow:0 0 0 4px rgba(125,240,192,.2)}

.grid-4{display:grid; grid-template-columns: repeat(4,1fr); gap:18px}
.grid-3{display:grid; grid-template-columns: repeat(3,1fr); gap:18px}

.form .full{grid-column:1/-1}
label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}
input,textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font-size:16px}
input[type="checkbox"]{width:auto}