:root{
  --bg: #e9eaee;
  --surface: #eef0f4;
  --ink: #14161c;
  --ink-soft: #565b68;
  --ink-faint: #8a8f9c;
  --blue: #1d4ed8;
  --blue-bright: #2f6bff;
  --blue-glow: rgba(47,107,255,.35);
  --shadow-light: #ffffff;
  --shadow-dark: rgba(163,168,181,.65);
  --line: rgba(20,22,28,.08);
  --red:#dc2626;
  --amber:#b45309;
  --green:#16a34a;
  --radius-lg: 28px;
  --radius-md: 20px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background: var(--bg);
  color: var(--ink);
  font-family:'Plus Jakarta Sans', sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.brand,.headline-font{ font-family:'Sora', sans-serif; }
.mono{ font-family:'Space Mono', monospace; }

.bg-glow::before{
  content:'';
  position:fixed; inset:0;
  background:
    radial-gradient(600px 400px at 15% 8%, rgba(47,107,255,.10), transparent 60%),
    radial-gradient(500px 500px at 85% 30%, rgba(29,78,216,.08), transparent 60%);
  pointer-events:none;
  z-index:0;
}

.wrap{ max-width:1240px; margin:0 auto; padding:0 40px; position:relative; z-index:1;}

.neo{
  background: var(--surface);
  border-radius: var(--radius-md);
  box-shadow: 8px 8px 20px var(--shadow-dark), -8px -8px 20px var(--shadow-light);
}
.neo-inset{
  background: var(--surface);
  border-radius: var(--radius-md);
  box-shadow: inset 5px 5px 12px var(--shadow-dark), inset -5px -5px 12px var(--shadow-light);
}
.glass{
  background: rgba(255,255,255,.45);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid rgba(255,255,255,.6);
  box-shadow: 0 8px 32px rgba(31,41,66,.12);
}

/* ---------- Nav (shared) ---------- */
header.site-header{ position: sticky; top:0; z-index:50; padding: 18px 0; }
.navbar{ display:flex; align-items:center; justify-content:space-between; padding: 14px 26px; border-radius: 999px; }
.brand{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:16px; letter-spacing:.2px; cursor:pointer;}
.brand-logo{ height:72px; width:auto; display:block; }
.brand .dot{
  width:26px; height:26px; border-radius:9px;
  background: linear-gradient(145deg, var(--blue-bright), var(--blue));
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 0 0 4px rgba(47,107,255,.12);
}
.brand .dot i{ color:#fff; font-size:14px; }
nav.links{ display:flex; gap:36px; }
nav.links a{ color: var(--ink-soft); text-decoration:none; font-size:14.5px; font-weight:500; transition: color .2s ease; font-family:'Plus Jakarta Sans',sans-serif;}
nav.links a.active{ color: var(--blue); font-weight:600; }
nav.links a:hover{ color: var(--ink); }

/* ---------- Buttons (shared) ---------- */
.btn-contact{
  padding:11px 24px; font-family:'Sora', sans-serif; font-weight:600; font-size:14px; color: var(--ink);
  border:none; cursor:pointer; border-radius:999px; background: var(--surface);
  box-shadow: 5px 5px 12px var(--shadow-dark), -5px -5px 12px var(--shadow-light);
  transition: box-shadow .2s ease, transform .2s ease;
}
.btn-contact:hover{ transform: translateY(-1px); }
.btn-primary{
  padding:15px 32px; border-radius:999px; border:none; cursor:pointer;
  font-family:'Sora', sans-serif; font-weight:600; font-size:15px;
  color:#fff; background: linear-gradient(145deg, var(--blue-bright), var(--blue));
  box-shadow: 0 10px 26px rgba(29,78,216,.35), inset 0 1px 0 rgba(255,255,255,.25);
  transition: transform .2s ease, box-shadow .2s ease;
  display:inline-flex; align-items:center; gap:8px;
}
.btn-primary:hover{ transform: translateY(-2px); }
.btn-primary:disabled{ opacity:.5; cursor:not-allowed; transform:none; }
.btn-secondary{
  padding:15px 30px; border-radius:999px; cursor:pointer; border:none;
  font-family:'Sora', sans-serif; font-weight:600; font-size:15px; color:var(--ink);
  background: var(--surface);
  box-shadow: 6px 6px 14px var(--shadow-dark), -6px -6px 14px var(--shadow-light);
  display:inline-flex; align-items:center; gap:8px;
}

/* ---------- Section shared ---------- */
section{ padding: 90px 0; position:relative; z-index:1;}
.section-head{ text-align:center; max-width:640px; margin:0 auto 56px;}
.section-head .tag{
  font-family:'Space Mono', monospace; font-size:11.5px; letter-spacing:1.5px;
  text-transform:uppercase; color: var(--blue); font-weight:700; margin-bottom:14px; display:block;
}
.section-head h2{
  font-family:'Sora', sans-serif; font-weight:700;
  font-size: clamp(28px, 4vw, 42px); letter-spacing:-.5px; line-height:1.15;
}
.section-head p{
  font-family:'Plus Jakarta Sans', sans-serif; color: var(--ink-soft); margin-top:16px; font-size:15.5px; line-height:1.6;
}

/* ---------- Footer (shared) ---------- */
footer{ padding: 60px 0 40px; position:relative; z-index:1;}
.footer-top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:40px; padding-bottom:40px; border-bottom:1px solid var(--line);}
.footer-cols{ display:flex; gap:70px; flex-wrap:wrap;}
.footer-col h4{ font-size:13px; text-transform:uppercase; letter-spacing:1px; color: var(--ink-faint); margin-bottom:16px; font-family:'Space Mono', monospace;}
.footer-col a{ display:block; color: var(--ink-soft); text-decoration:none; font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; margin-bottom:12px;}
.footer-col a:hover{ color: var(--blue); }
.footer-bottom{ display:flex; justify-content:space-between; padding-top:28px; flex-wrap:wrap; gap:14px;}
.footer-bottom p{ font-family:'Plus Jakarta Sans',sans-serif; font-size:13px; color: var(--ink-faint);}

:focus-visible{ outline: 2px solid var(--blue); outline-offset:3px; }
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important; } }
@media (max-width:900px){ nav.links{ display:none; } .wrap{ padding:0 22px; } }
