:root{
  --bg:#f6fbff;
  --bg-soft:#eef7ff;
  --surface:#ffffff;
  --surface-2:#f8fbff;
  --surface-3:#f3f7ff;
  --text:#10213a;
  --text-2:#20334f;
  --muted:#5f7696;
  --stroke:rgba(25, 82, 168, 0.12);
  --stroke-strong:rgba(25, 82, 168, 0.18);
  --primary:#2f6fff;
  --primary-2:#5a8dff;
  --accent:#ff6b6b;
  --accent-2:#ff9a5a;
  --teal:#27c1c9;
  --shadow:0 18px 55px rgba(45, 97, 185, 0.12);
  --shadow-soft:0 10px 30px rgba(45, 97, 185, 0.08);
  --radius:26px;
  --radius-sm:18px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(79,145,255,.16), transparent 28%),
    radial-gradient(circle at top right, rgba(39,193,201,.12), transparent 22%),
    linear-gradient(180deg, #fbfdff 0%, #f5f9ff 100%);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(var(--container), calc(100% - 40px));margin:0 auto}
.small{font-size:.92rem}
.muted{color:var(--muted)}
.section{padding:88px 0}
.section-sm{padding:56px 0}
.section-title{
  font-size:clamp(2rem, 4vw, 3.5rem);
  line-height:1.03;
  letter-spacing:-.04em;
  margin:10px 0 0;
}
.section-copy{
  margin-top:16px;
  color:var(--muted);
  max-width:62ch;
  font-size:1.05rem;
}
.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(250, 252, 255, 0.82);
  border-bottom:1px solid rgba(25,82,168,.08);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:18px; padding:16px 0;
}
.brand{display:flex; align-items:center; gap:14px}
.brand img{
  width:58px; height:58px; object-fit:contain;
  filter: drop-shadow(0 12px 18px rgba(37,89,186,.14));
}
.brand-text{display:flex; flex-direction:column}
.brand-name{font-weight:900; letter-spacing:.02em; font-size:1.05rem}
.brand-sub{font-size:.78rem; color:var(--muted)}
.nav-links{
  display:flex; align-items:center; gap:22px; flex-wrap:wrap;
}
.nav-links a{
  color:var(--text-2);
  font-weight:700;
  padding:8px 0;
  position:relative;
}
.nav-links a.active::after,
.nav-links a:hover::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-4px; height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--primary),var(--teal));
}
.nav-actions{display:flex; align-items:center; gap:12px}
.menu-toggle{
  display:none; border:none; background:var(--surface); border-radius:12px; padding:12px 14px;
  box-shadow:var(--shadow-soft); font-weight:800; color:var(--text)
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px; border-radius:999px; padding:14px 20px;
  font-weight:800; transition:.2s ease; border:1px solid transparent;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  color:#fff;
  background:linear-gradient(90deg,var(--primary), var(--teal));
  box-shadow:0 16px 32px rgba(47,111,255,.18);
}
.btn-secondary{
  background:rgba(255,255,255,.9);
  border:1px solid var(--stroke);
  color:var(--text);
  box-shadow:var(--shadow-soft);
}
.badge,.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:.8rem; text-transform:uppercase; letter-spacing:.14em;
  font-weight:800; color:#1b4faa;
  background:linear-gradient(90deg, rgba(47,111,255,.1), rgba(39,193,201,.12));
  border:1px solid rgba(47,111,255,.14);
  border-radius:999px;
  padding:9px 14px;
}
.hero{padding:84px 0 72px}
.hero-grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:center;
}
.hero h1{
  margin:14px 0 0;
  font-size:clamp(2.7rem, 6vw, 5.2rem);
  line-height:.98;
  letter-spacing:-.05em;
}
.highlight{
  background:linear-gradient(90deg,var(--primary), var(--accent));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-copy{
  font-size:1.1rem; color:var(--muted); max-width:60ch; margin-top:18px;
}
.btn-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:24px}
.hero-points{
  display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:26px;
}
.hero-point{
  display:flex; gap:12px; padding:16px 18px; border-radius:18px;
  background:rgba(255,255,255,.78); border:1px solid var(--stroke); box-shadow:var(--shadow-soft);
}
.dot{
  width:12px; height:12px; border-radius:50%; margin-top:8px; flex:0 0 auto;
  background:linear-gradient(90deg,var(--primary), var(--accent-2));
  box-shadow:0 0 0 6px rgba(47,111,255,.08);
}
.hero-visual{
  position:relative; padding:22px; border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,249,255,.92));
  border:1px solid rgba(25,82,168,.08); box-shadow:var(--shadow);
}
.hero-image{
  width:100%; border-radius:22px; border:1px solid rgba(25,82,168,.08);
  box-shadow:var(--shadow-soft);
}
.hero-stat{
  margin-top:14px; padding:14px 16px; border-radius:18px;
  background:var(--surface); border:1px solid var(--stroke); box-shadow:var(--shadow-soft);
}
.hero-stat strong{display:block; font-size:1.1rem}
.card{
  background:rgba(255,255,255,.86);
  border:1px solid var(--stroke);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.split-card,.service-card,.portfolio-card,.feature-card,.pricing-card,.testimonial,.process-card,.contact-card,.stat-card{
  padding:26px;
}
.logo-bar,.tag-row,.metric-row,.stats,.pricing-grid,.testimonial-grid,.process-grid,.grid-3,.grid-2,.lead-layout,.portfolio-grid,.contact-layout,.footer-grid{
  display:grid; gap:20px;
}
.logo-bar{grid-template-columns:repeat(4,1fr); margin-top:22px}
.logo-pill{
  text-align:center; padding:14px 12px; border-radius:16px;
  background:linear-gradient(180deg, #fff, #f4f8ff);
  border:1px solid var(--stroke); color:var(--text-2); font-weight:700;
}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2,.lead-layout,.contact-layout{grid-template-columns:repeat(2,1fr)}
.portfolio-grid{grid-template-columns:repeat(3,1fr); margin-top:28px}
.service-card .service-icon,
.feature-icon,
.process-icon,
.mini-icon{
  width:52px; height:52px; border-radius:16px; display:grid; place-items:center;
  background:linear-gradient(135deg, rgba(47,111,255,.14), rgba(39,193,201,.12));
  color:#1751b3; font-weight:900; box-shadow:var(--shadow-soft);
}
.service-list,.check-list{
  padding-left:18px; color:var(--muted); margin:14px 0 0;
}
.service-list li,.check-list li{margin:8px 0}
.portfolio-card img{
  border-radius:20px; border:1px solid var(--stroke); box-shadow:var(--shadow-soft);
}
.tag-row{grid-template-columns:repeat(3,max-content); gap:10px; margin-top:16px}
.tag{
  padding:8px 12px; border-radius:999px;
  background:rgba(47,111,255,.08); color:#2a61c5; font-weight:800; font-size:.84rem;
  border:1px solid rgba(47,111,255,.12)
}
.metric-row{grid-template-columns:repeat(3,1fr); margin-top:18px}
.metric{
  padding:16px; border-radius:18px; border:1px solid var(--stroke); background:var(--surface-2);
}
.metric strong{display:block; font-size:1.15rem}
.stats,.pricing-grid,.testimonial-grid,.process-grid{grid-template-columns:repeat(4,1fr); margin-top:28px}
.stat-card strong{display:block; font-size:1.08rem; margin-bottom:8px}
.pricing-card.popular{
  background:linear-gradient(180deg, rgba(47,111,255,.08), rgba(39,193,201,.06));
  border-color:rgba(47,111,255,.18);
  transform:translateY(-4px);
}
.price{
  font-size:2.2rem; font-weight:900; letter-spacing:-.03em; margin:14px 0 10px;
}
.testimonial strong{display:block; margin-top:16px}
.role{color:var(--muted); font-size:.92rem; margin-top:4px}
.page-hero{
  padding:70px 0 28px;
}
.breadcrumbs{
  color:var(--muted); font-size:.92rem; margin-bottom:16px;
}
.breadcrumbs span{margin:0 6px}
.contact-list{display:grid; gap:16px; margin-top:20px}
.contact-item{
  display:flex; gap:14px; align-items:flex-start;
  padding:14px 0; border-bottom:1px solid rgba(25,82,168,.08);
}
.contact-item a, .phone-link{color:#1d5fd7; font-weight:800}
.inline-note{
  margin-top:18px; padding:14px 16px; border-radius:16px;
  background:rgba(47,111,255,.08); color:#1f4ba2; font-size:.94rem;
}
form{margin-top:18px}
.form-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
.form-field{display:flex; flex-direction:column; gap:8px}
.form-field.full{grid-column:1 / -1}
label{font-weight:700; color:var(--text-2); font-size:.94rem}
input, select, textarea{
  width:100%; padding:14px 15px; border-radius:14px;
  border:1px solid rgba(25,82,168,.12); background:#fff; color:var(--text);
  font:inherit; outline:none;
}
input:focus, select:focus, textarea:focus{
  border-color:rgba(47,111,255,.38);
  box-shadow:0 0 0 4px rgba(47,111,255,.08);
}
textarea{resize:vertical; min-height:160px}
.cta-panel{
  padding:34px;
  background:
    radial-gradient(circle at top left, rgba(47,111,255,.12), transparent 26%),
    radial-gradient(circle at bottom right, rgba(255,107,107,.10), transparent 24%),
    linear-gradient(180deg,#ffffff,#f5f9ff);
}
.site-footer{
  margin-top:30px; padding:34px 0 40px;
  border-top:1px solid rgba(25,82,168,.08);
  background:rgba(255,255,255,.55);
}
.footer-grid{grid-template-columns:1.4fr .6fr}
.footer-links{display:grid; gap:10px; align-content:start}
.sticky-cta{
  position:fixed; bottom:18px; left:50%; transform:translateX(-50%);
  width:min(760px, calc(100% - 24px)); z-index:60;
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  background:rgba(255,255,255,.92); border:1px solid rgba(25,82,168,.1);
  border-radius:999px; box-shadow:0 18px 42px rgba(26,65,133,.16); padding:12px 14px 12px 18px;
}
.reveal{opacity:1; transform:none}
.hide-mobile{display:inline}
@media (max-width: 1024px){
  .hero-grid,.grid-3,.portfolio-grid,.stats,.pricing-grid,.testimonial-grid,.process-grid,.grid-2,.lead-layout,.contact-layout,.footer-grid{
    grid-template-columns:1fr 1fr;
  }
  .logo-bar{grid-template-columns:1fr 1fr}
}
@media (max-width: 780px){
  .nav{flex-wrap:wrap}
  .nav-links{display:none; width:100%}
  .nav-links.open{display:flex; flex-direction:column; align-items:flex-start; padding-top:8px}
  .menu-toggle{display:inline-flex}
  .hero-grid,.grid-3,.portfolio-grid,.stats,.pricing-grid,.testimonial-grid,.process-grid,.grid-2,.lead-layout,.contact-layout,.footer-grid,.hero-points,.form-grid,.metric-row{
    grid-template-columns:1fr;
  }
  .tag-row{grid-template-columns:1fr 1fr}
  .brand-sub,.hide-mobile{display:none}
  .sticky-cta{border-radius:22px; justify-content:center}
}
