
html { scroll-behavior: smooth; }
body { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #111827; }
a { transition: all 0.2s ease; }
.nav-link { color:#334155; } .nav-link:hover { color:#1E40AF; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius:.95rem; padding:.9rem 1.25rem; font-weight:700; transition:all .2s ease; }
.btn-primary { background:#F97316; color:white; } .btn-primary:hover { background:#EA580C; transform:translateY(-1px); }
.btn-secondary { background:#1E40AF; color:white; } .btn-secondary:hover { background:#1d4ed8; transform:translateY(-1px); }
.btn-light { background:white; color:#1E40AF; } .btn-light:hover { background:#eff6ff; }
.card,.service-card,.product-card,.blog-card { background:white; border:1px solid #E5E7EB; border-radius:1.35rem; box-shadow:0 10px 30px rgba(17,24,39,0.08); }
.service-card,.product-card,.blog-card { padding:1.75rem; }
.service-card h3,.product-card h3,.blog-card h3 { font-size:1.2rem; font-weight:800; line-height:1.35; }
.service-card p,.product-card p,.blog-card p { margin-top:.8rem; color:#475569; line-height:1.7; }
.section-head { max-width:46rem; } .section-head h2 { font-size:clamp(1.85rem,3vw,2.5rem); line-height:1.15; font-weight:800; margin-top:.55rem; } .section-head p { margin-top:1rem; color:#475569; font-size:1.05rem; line-height:1.9; }
.eyebrow { display:inline-flex; align-items:center; border-radius:999px; padding:.45rem .8rem; background:#dbeafe; color:#1E40AF; font-size:.85rem; font-weight:700; }
.card-stat,.metric-card { background:white; border:1px solid #E5E7EB; border-radius:1.15rem; padding:1rem; box-shadow:0 10px 30px rgba(17,24,39,0.06); }
.card-stat strong,.metric-value { display:block; font-size:1.25rem; font-weight:800; color:#111827; }
.card-stat span,.metric-label { display:block; margin-top:.35rem; font-size:.92rem; color:#64748b; line-height:1.5; }
.feature-row { display:flex; gap:.75rem; align-items:flex-start; background:white; padding:1rem 1.1rem; border-radius:1rem; border:1px solid #E5E7EB; box-shadow:0 10px 30px rgba(17,24,39,0.04); }
.feature-row span { color:#475569; line-height:1.7; }
.step-card { background:white; border:1px solid #E5E7EB; border-radius:1.15rem; padding:1.3rem; box-shadow:0 10px 30px rgba(17,24,39,0.05); }
.step-card h3 { font-weight:800; font-size:1.05rem; margin-top:.8rem; } .step-card p { color:#475569; margin-top:.5rem; line-height:1.7; }
.step-no { display:inline-flex; width:3rem; height:3rem; align-items:center; justify-content:center; border-radius:999px; background:#eff6ff; color:#1E40AF; font-weight:800; }
.pill { background:white; border:1px solid #E5E7EB; padding:.75rem 1rem; border-radius:999px; }
.cta-panel { background:linear-gradient(135deg,#1E40AF,#2563eb); border-radius:1.5rem; padding:2rem; box-shadow:0 18px 40px rgba(30,64,175,0.25); display:flex; flex-direction:column; gap:1.25rem; justify-content:space-between; }
.input { width:100%; margin-top:.45rem; border:1px solid #CBD5E1; background:white; border-radius:.95rem; padding:.9rem 1rem; color:#111827; }
.input:focus { outline:none; border-color:#3B82F6; box-shadow:0 0 0 4px rgba(59,130,246,.15); }
.label { font-size:.92rem; font-weight:700; color:#334155; }
.contact-row { display:flex; gap:.5rem; align-items:flex-start; color:#334155; }
.desktop-call-rail { position:fixed; top:50%; right:0; transform:translateY(-50%); z-index:60; flex-direction:column; gap:.7rem; }
.rail-btn { writing-mode:vertical-rl; transform:rotate(180deg); background:#1E40AF; color:white; padding:1rem .9rem; border-radius:1rem 0 0 1rem; font-weight:800; box-shadow:0 10px 30px rgba(17,24,39,0.18); }
.rail-btn-primary { background:#F97316; } .rail-btn:hover { filter:brightness(.96); }
.mobile-call-bar { position:fixed; bottom:0; left:0; right:0; z-index:70; background:white; border-top:1px solid #E5E7EB; padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom)); }
.mobile-call-link { display:flex; align-items:center; justify-content:center; background:#F97316; color:white; font-weight:800; border-radius:1rem; padding:1rem 1.25rem; }
@media (min-width:768px){ .cta-panel{ flex-direction:row; align-items:center; } }
