
/* Professional consulting theme — accessible, responsive, animated */
/* Palette */
:root{
  --bg: #0b1226;
  --panel: #0f172a;
  --text: #e5e7eb;
  --muted: #97a3b6;
  --accent: #22d3ee; /* cyan */
  --accent-2: #60a5fa; /* blue */
  --card: #0e162c;
  --radius: 16px;
  --maxw: 1120px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Inter, Arial;
  background:
    radial-gradient(60% 50% at 80% -10%, rgba(34,211,238,0.12), transparent 70%),
    radial-gradient(60% 40% at 0% 10%, rgba(96,165,250,0.10), transparent 60%),
    #0b1226;
  color: var(--text);
  line-height: 1.6;
}

.container{max-width:var(--maxw);margin-inline:auto;padding:1rem;}

.skip-link{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:var(--accent);color:#001018;padding:.5rem .75rem;border-radius:8px;}

.site-header{
  position:sticky;top:0;background:rgba(11,16,38,.65);backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid #131f3a;
  z-index:10;
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{font-weight:800;letter-spacing:.2px;font-size:1.7rem;color:var(--text);text-decoration:none}
.brand .accent{color:var(--accent)}
.nav-menu{list-style:none;display:flex;gap:.5rem;margin:0;padding:0}
.nav-menu a{color:var(--text);text-decoration:none;padding:.5rem .75rem;border-radius:10px}
.nav-menu a:hover,.nav-menu a:focus{background:#0f1a33}
.nav-toggle{display:none;background:transparent;border:1px solid #223; padding:.4rem .6rem;border-radius:10px;color:var(--text)}

@media (max-width: 820px){
  .nav-toggle{display:inline-block}
  .nav-menu{display:none;flex-direction:column;position:absolute;right:1rem;top:3.5rem;background:#0c1327;border:1px solid #1e293b;border-radius:12px;padding:.5rem;width:min(280px, 90vw)}
  .nav-menu.open{display:flex}
}

.hero{
  padding:clamp(3rem, 6vw, 7rem) 0;
  background:
    radial-gradient(900px 400px at 80% -5%, rgba(96,165,250,0.20), transparent 70%),
    radial-gradient(700px 300px at -10% 10%, rgba(34,211,238,0.20), transparent 60%);
  border-bottom:1px solid #121a30;
}
.hero-inner{display:grid;gap:1rem}
h1{font-size:clamp(2.2rem, 4vw, 3.2rem);margin:0 0 .4rem}
.lead{color:var(--muted);max-width:62ch}
.link{color:var(--accent) !important;text-decoration:none}
.link:hover{text-decoration:underline}

.section{padding:clamp(2rem, 5vw, 4rem) 0}
.section.alt{background:#0b1226;border-block:1px solid #121a30}
h2{font-size:1.8rem;margin:0 0 1rem 0}
h3{margin:.25rem 0 0.5rem;font-size:1.15rem}

.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr))}
.card{background:var(--card);border:1px solid #1f2937;border-radius:var(--radius);padding:1rem}
.card.lift{transition:transform .25s ease, box-shadow .25s ease}
.card.lift:hover{transform:translateY(-4px); box-shadow:0 10px 30px rgba(0,0,0,.25)}

.checklist{list-style: none;padding-left:0;margin:.5rem 0 0 0}
.checklist li{position:relative;padding-left:1.5rem;margin:.25rem 0}
.checklist li::before{content:"✔";position:absolute;left:0;top:.15rem;color:var(--accent)}

.button{
  display:inline-block;background:linear-gradient(90deg,var(--accent), var(--accent-2));
  color:#001018;
  padding:.7rem 1.05rem;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid rgba(255,255,255,0.06);
}
.button:hover{filter:brightness(1.05)}
.button-outline{background:transparent;color:var(--text);border:1px solid #233046}

.pill{display:inline-block;border:1px solid #233046;padding:.35rem .6rem;border-radius:999px;font-size:.85rem;color:var(--text)}

.stats .num{background:linear-gradient(180deg, #fff, #c5e7ff); -webkit-background-clip:text; -webkit-text-fill-color:transparent;}
.stat{transition:transform .25s ease} .stat:hover{transform:translateY(-3px)}

.step{position:relative;overflow:hidden}
.step::after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:linear-gradient(90deg, var(--accent), var(--accent-2));opacity:.6}

input,textarea{width:100%;background:#0a1327;border:1px solid #1f2a44; color:var(--text);border-radius:12px;padding:.6rem}
textarea{min-height:130px;resize:vertical}
label{display:grid;gap:.35rem;font-size:.95rem;color:#cbd5e1}

.site-footer{border-top:1px solid #121a30;padding:1rem 0;margin-top:2rem;color:var(--muted)}

/* Animations */
.reveal{opacity:0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease;}
.reveal.active{opacity:1; transform: translateY(0);}

@media (prefers-reduced-motion: reduce){
  .reveal, .card.lift, .stat{transition:none !important}
}
