:root{
--bg:#0b0c0f;
--panel:#11131a;
--card:#141826;
--text:#f3f5ff;
--muted:#b8bfd8;
--line:#242a3d;
--accent:#6aa8ff;
--accent2:#9bffd1;
--shadow: 0 16px 50px rgba(0,0,0,.35);
--radius: 16px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
margin:0;
font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
background: radial-gradient(1200px 600px at 10% -10%, rgba(106,168,255,.25), transparent 55%),
radial-gradient(900px 500px at 90% 10%, rgba(155,255,209,.18), transparent 55%),
var(--bg);
color:var(--text);
line-height:1.5;
}
a{color:inherit; text-decoration:none}
a:hover{opacity:.9}
.container{width:min(1120px, 92vw); margin:0 auto}
.skip-link{
position:absolute; left:-999px; top:0;
background:#fff; color:#000; padding:10px 12px; border-radius:10px;
}
.skip-link:focus{left:12px; top:12px; z-index:9999}
.site-header{
position:sticky; top:0; z-index:50;
backdrop-filter: blur(10px);
background: rgba(11,12,15,.7);
border-bottom:1px solid rgba(255,255,255,.06);
}
.header-row{
display:flex; align-items:center; justify-content:space-between;
padding:14px 0;
}
.brand{display:flex; align-items:center; gap:10px; font-weight:700}
.brand-mark{
width:14px; height:14px; border-radius:4px;
background: linear-gradient(135deg, var(--accent), var(--accent2));
box-shadow: 0 0 0 3px rgba(255,255,255,.06);
}
.brand-text{letter-spacing:.2px}
.nav{display:flex; align-items:center; gap:14px}
.nav-toggle{
display:none;
background: transparent; border:1px solid rgba(255,255,255,.14);
color:var(--text); padding:10px 12px; border-radius:12px;
}
.nav-menu{display:flex; align-items:center; gap:14px}
.nav-menu a{padding:10px 10px; border-radius:12px}
.nav-menu a:not(.btn):hover{background: rgba(255,255,255,.06)}
.btn{
display:inline-flex; align-items:center; justify-content:center;
padding:12px 14px; border-radius: 14px;
border:1px solid rgba(255,255,255,.14);
font-weight:600;
}
.btn-primary{
border-color: rgba(106,168,255,.45);
background: linear-gradient(135deg, rgba(106,168,255,.22), rgba(155,255,209,.14));
box-shadow: var(--shadow);
}
.btn-ghost{background: rgba(255,255,255,.04)}
.btn:hover{transform: translateY(-1px)}
.hero{
padding:64px 0 30px;
}
.hero-grid{
display:grid;
grid-template-columns: 1.2fr .8fr;
gap:28px;
align-items:start;
}
.eyebrow{
display:inline-block;
padding:8px 10px;
border:1px solid rgba(255,255,255,.12);
border-radius:999px;
color:var(--muted);
font-size:12px;
letter-spacing:.5px;
text-transform:uppercase;
}
h1{font-size: clamp(34px, 4vw, 52px); line-height:1.06; margin:14px 0 12px}
h2{font-size: clamp(24px, 2.5vw, 32px); margin:0 0 10px}
h3{margin:0 0 8px; font-size:18px}
.lead{font-size:18px; color: var(--muted); max-width: 60ch}
.small{font-size:12px}
.muted{color:var(--muted)}
.hero-actions{display:flex; gap:12px; margin:18px 0 18px; flex-wrap:wrap}
.hero-proof{
display:grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap:12px;
margin-top:18px;
}
.stat{
background: rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.08);
border-radius: var(--radius);
padding:14px 12px;
}
.stat-num{font-weight:700; font-size:18px}
.stat-label{font-size:12px; color:var(--muted); margin-top:2px}
.hero-card{
background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
border:1px solid rgba(255,255,255,.10);
border-radius: var(--radius);
padding:18px;
box-shadow: var(--shadow);
}
.checklist{margin:10px 0 0; padding:0; list-style:none}
.checklist li{
padding-left:22px;
margin:10px 0;
position:relative;
color: var(--muted);
}
.checklist li::before{
content:"";
width:10px; height:10px; border-radius:3px;
background: linear-gradient(135deg, var(--accent), var(--accent2));
position:absolute; left:0; top:6px;
}
.section{padding:44px 0}
.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:16px}
.section-head p{margin:0}
.card-grid{
display:grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap:14px;
}
.card{
background: rgba(255,255,255,.035);
border:1px solid rgba(255,255,255,.09);
border-radius: var(--radius);
padding:16px;
box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.card p{margin:0 0 12px; color: var(--muted)}
.card-link{color: var(--text); font-weight:600}
.card-link:hover{opacity:.9; text-decoration: underline}
.band{
background: linear-gradient(90deg, rgba(106,168,255,.10), rgba(155,255,209,.07));
border-top:1px solid rgba(255,255,255,.07);
border-bottom:1px solid rgba(255,255,255,.07);
}
.band-grid{
display:grid;
grid-template-columns: 1fr 1fr;
gap:18px;
align-items:start;
}
.mini-grid{
display:grid;
grid-template-columns: repeat(2, minmax(0,1fr));
gap:12px;
}
.mini{
background: rgba(11,12,15,.55);
border:1px solid rgba(255,255,255,.09);
border-radius: var(--radius);
padding:14px;
}
.mini p{margin:0; color: var(--muted); font-size:14px}
.contact-grid{
display:grid;
grid-template-columns: 1fr 1fr;
gap:16px;
align-items:start;
}
.bullets{padding-left:18px}
.form label{display:block; margin:0 0 12px; font-weight:600}
input, select, textarea{
width:100%;
margin-top:8px;
padding:12px 12px;
border-radius: 14px;
border:1px solid rgba(255,255,255,.12);
background: rgba(11,12,15,.55);
color: var(--text);
outline:none;
}
input:focus, select:focus, textarea:focus{
border-color: rgba(106,168,255,.55);
box-shadow: 0 0 0 4px rgba(106,168,255,.12);
}
textarea{resize:vertical}
.site-footer{
padding:28px 0;
border-top:1px solid rgba(255,255,255,.07);
background: rgba(0,0,0,.12);
}
.footer-row{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
flex-wrap:wrap;
}
.footer-links{display:flex; gap:14px}
.footer-links a{color: var(--muted)}
.footer-links a:hover{color: var(--text)}
@media (max-width: 900px){
.hero-grid, .band-grid, .contact-grid{grid-template-columns: 1fr}
.card-grid{grid-template-columns: repeat(2, minmax(0,1fr))}
.hero-proof{grid-template-columns: 1fr}
}
@media (max-width: 620px){
.card-grid{grid-template-columns: 1fr}
.nav-toggle{display:inline-flex}
.nav-menu{
display:none;
position:absolute;
right:4vw;
top:58px;
background: rgba(17,19,26,.95);
border:1px solid rgba(255,255,255,.12);
border-radius: 16px;
padding:10px;
flex-direction:column;
min-width: 220px;
}
.nav-menu.open{display:flex}
}
top of page
bottom of page