:root {
  --bg: #f5f7fb;
  --text: #11213a;
  --muted: #637086;
  --primary: #315fe8;
  --primary-dark: #2347b4;
  --surface: #ffffff;
  --line: #e2e7ef;
  --dark: #0c1728;
  --dark-2: #142642;
  --accent-soft: #edf2ff;
  --radius: 22px;
  --shadow: 0 24px 70px rgba(20, 39, 75, 0.13);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--text); background:var(--bg); line-height:1.6; }
a { color:inherit; text-decoration:none; }
.container { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.site-header { position:sticky; top:0; z-index:30; background:rgba(248,250,253,.9); backdrop-filter:blur(16px); border-bottom:1px solid rgba(226,231,239,.88); }
.nav-wrap { min-height:80px; display:flex; align-items:center; gap:26px; }
.brand { display:flex; align-items:center; gap:12px; margin-right:auto; }
.brand-mark { width:42px; height:42px; border-radius:13px; display:grid; place-items:center; background:linear-gradient(135deg,var(--primary),#748fff); color:white; font-weight:800; box-shadow:0 10px 25px rgba(49,95,232,.24); }
.brand-copy { display:flex; flex-direction:column; line-height:1.05; }
.brand-copy strong { font-size:1.18rem; letter-spacing:-.02em; }
.brand-copy small { color:var(--muted); font-size:.72rem; margin-top:5px; }
.nav { display:flex; gap:25px; }
.nav a { color:var(--muted); font-size:.92rem; font-weight:650; }
.nav a:hover { color:var(--text); }
.menu-btn { display:none; border:0; background:none; font-size:1.5rem; color:var(--text); }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 20px; border-radius:12px; font-weight:750; transition:.2s ease; }
.btn-primary { background:var(--primary); color:#fff; box-shadow:0 12px 28px rgba(49,95,232,.23); }
.btn-primary:hover { background:var(--primary-dark); transform:translateY(-1px); }
.btn-secondary { background:#fff; border:1px solid var(--line); }
.btn-secondary:hover { border-color:#cbd3df; transform:translateY(-1px); }
.btn-light { background:#fff; color:var(--dark); }
.btn-lg { min-height:56px; padding:0 27px; }
.hero { position:relative; overflow:hidden; padding:94px 0 82px; background:radial-gradient(circle at 82% 20%, rgba(70,107,255,.18), transparent 30%), linear-gradient(180deg,#fbfcff 0%,#f3f6fb 100%); }
.hero::before { content:""; position:absolute; width:520px; height:520px; right:-220px; bottom:-300px; border-radius:50%; background:rgba(49,95,232,.055); }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.12fr .88fr; gap:70px; align-items:center; }
.eyebrow { color:var(--primary); font-size:.76rem; font-weight:800; letter-spacing:.16em; margin-bottom:15px; }
.eyebrow.light { color:#b9c7ff; }
.hero h1 { margin:0 0 24px; max-width:790px; font-size:clamp(2.8rem,5.2vw,4.9rem); line-height:1.01; letter-spacing:-.05em; }
.hero-text { margin:0; max-width:750px; color:var(--muted); font-size:1.14rem; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin:32px 0 26px; }
.hero-proof { display:flex; flex-wrap:wrap; gap:17px; color:#5e6b7e; font-size:.88rem; font-weight:650; }
.hero-proof span::before { content:"✓"; color:var(--primary); margin-right:6px; }
.hero-panel { background:rgba(255,255,255,.86); border:1px solid rgba(255,255,255,.95); border-radius:30px; padding:30px; box-shadow:var(--shadow); }
.panel-top { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:.86rem; font-weight:650; padding-bottom:18px; border-bottom:1px solid var(--line); }
.status-dot { width:9px; height:9px; border-radius:50%; background:#40b36c; box-shadow:0 0 0 5px rgba(64,179,108,.1); }
.solution-stack { display:grid; gap:10px; margin:20px 0; }
.solution-stack div { display:flex; align-items:center; gap:14px; padding:13px 14px; background:#f8faff; border:1px solid #edf1f6; border-radius:14px; }
.solution-stack span { color:var(--primary); font-size:.76rem; font-weight:800; }
.solution-stack strong { font-size:.95rem; }
.panel-note { padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:.86rem; }
.trust-strip { background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.trust-grid div { padding:24px 28px; display:flex; flex-direction:column; border-right:1px solid var(--line); }
.trust-grid div:last-child { border-right:0; }
.trust-grid strong { font-size:.98rem; }
.trust-grid span { color:var(--muted); font-size:.86rem; margin-top:3px; }
.section { padding:96px 0; background:#fff; }
.section-heading { max-width:790px; margin-bottom:48px; }
.section h2, .special-request h2 { margin:0 0 18px; font-size:clamp(2rem,4vw,3.25rem); line-height:1.08; letter-spacing:-.04em; }
.section-heading p, .lead { color:var(--muted); font-size:1.04rem; }
.cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.service-card { padding:29px; border:1px solid var(--line); border-radius:20px; background:#fff; transition:.2s ease; }
.service-card:hover { transform:translateY(-4px); box-shadow:0 20px 46px rgba(25,50,90,.09); }
.service-card.featured { background:linear-gradient(180deg,#f7f9ff,#fff); border-color:#cfd9ff; }
.service-number { width:39px; height:39px; border-radius:12px; display:grid; place-items:center; background:var(--accent-soft); color:var(--primary); font-size:.78rem; font-weight:800; margin-bottom:18px; }
.service-card h3 { margin:0 0 10px; font-size:1.18rem; }
.service-card p { margin:0 0 18px; color:var(--muted); font-size:.94rem; }
.service-card ul { margin:0; padding:0; list-style:none; display:grid; gap:8px; font-size:.86rem; color:#46546a; }
.service-card li::before { content:"•"; color:var(--primary); margin-right:7px; }
.section-dark { background:linear-gradient(135deg,var(--dark),var(--dark-2)); color:#fff; }
.model-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:76px; align-items:center; }
.lead-light { color:#c9d2df; font-size:1.05rem; max-width:680px; }
.text-link { display:inline-block; margin-top:20px; color:#fff; font-weight:750; }
.model-card { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:24px; padding:14px 28px; }
.model-step { display:grid; grid-template-columns:50px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.11); }
.model-step:last-child { border-bottom:0; }
.model-step span { color:#9fb2ff; font-weight:800; }
.model-step strong { display:block; margin-bottom:5px; }
.model-step p { margin:0; color:#c2ccda; font-size:.91rem; }
.two-col { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; }
.benefits { display:grid; gap:8px; }
.benefit { display:grid; grid-template-columns:58px 1fr; gap:16px; padding:21px 0; border-bottom:1px solid var(--line); }
.benefit strong { color:var(--primary); }
.benefit h3 { margin:0 0 5px; }
.benefit p { margin:0; color:var(--muted); }
.special-request { padding:0 0 90px; background:#fff; }
.request-box { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:40px; padding:44px; border:1px solid #dbe3f0; border-radius:26px; background:#f7f9fc; }
.request-box p { margin:0; color:var(--muted); }
.request-box .btn { justify-self:end; }
.cta-section { padding:0 0 88px; background:#fff; }
.cta-box { display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center; padding:52px; border-radius:28px; background:linear-gradient(135deg,#112545,#2851a3); color:#fff; }
.cta-box h2 { margin:0 0 12px; font-size:clamp(2rem,4vw,3.2rem); line-height:1.08; letter-spacing:-.04em; }
.cta-box p { margin:0; color:#d6dfed; }
.contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:17px; }
.contact-actions small { color:#bfc9d8; max-width:430px; }
.socials { display:flex; flex-direction:column; gap:7px; color:#dce5f4; font-size:.9rem; }
.footer { background:#0a1423; color:#c0cad7; padding:34px 0; }
.footer-wrap { display:grid; grid-template-columns:1.05fr 1.3fr 1fr; gap:22px; align-items:center; font-size:.82rem; }
.footer-wrap div:first-child { display:flex; flex-direction:column; color:#fff; }
.footer-wrap div:first-child span { color:#8f9dae; font-size:.76rem; }
.floating-wa { position:fixed; right:22px; bottom:22px; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:#1fa855; color:#fff; font-weight:800; box-shadow:0 16px 36px rgba(0,0,0,.2); z-index:35; }
@media (max-width: 920px) {
  .nav { display:none; position:absolute; top:80px; left:20px; right:20px; flex-direction:column; padding:20px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); }
  .nav.open { display:flex; }
  .menu-btn { display:block; }
  .nav-cta { display:none; }
  .hero-grid, .model-grid, .two-col, .request-box, .cta-box { grid-template-columns:1fr; gap:42px; }
  .cards-grid { grid-template-columns:1fr 1fr; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-grid div { border-right:0; border-bottom:1px solid var(--line); }
  .trust-grid div:last-child { border-bottom:0; }
  .request-box .btn { justify-self:start; }
  .footer-wrap { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .container { width:min(100% - 28px,1180px); }
  .brand-copy small { display:none; }
  .hero { padding:62px 0 64px; }
  .hero h1 { font-size:2.7rem; }
  .cards-grid { grid-template-columns:1fr; }
  .section { padding:72px 0; }
  .request-box, .cta-box { padding:32px 24px; }
  .btn-lg { width:100%; }
}
