:root {
 --color-bg: #0b1f33;
 --color-surface: #0d2842;
 --color-light: #f5fbff;
 --color-muted: #7c8da6;
 --color-primary: #0ba5ec;
 --color-primary-dark: #0669a3;
 --color-accent: #12bcd6;
 --color-success: #12d6a7;
 --color-gradient: linear-gradient(135deg, #0ba5ec, #12bcd6 60%, #12d6a7);
 --font-family: 'Outfit', 'Segoe UI', sans-serif;
 --shadow-elevated: 0 20px 45px rgba(5, 19, 40, 0.25);
 --shadow-card: 0 10px 30px rgba(11, 31, 51, 0.18);
 --radius-large: 24px;
 --radius-medium: 16px;
 --radius-small: 10px;
 --max-width: 1100px;

}
* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;

}
html {
 scroll-behavior: smooth;

}
body {
 font-family: var(--font-family);
 background: #071626;
 color: var(--color-light);
 line-height: 1.6;
 -webkit-font-smoothing: antialiased;

}
img {
 max-width: 100%;
 display: block;

}
.container {
 width: min(90%, var(--max-width));
 margin: 0 auto;

}
.flex {
 display: flex;
 gap: 24px;

}
.between {
 justify-content: space-between;

}
.align-center {
 align-items: center;

}
.grid {
 display: grid;
 gap: 32px;

}
.two-column {
 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

}
.three-column {
 grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));

}
.site-header {
 position: sticky;
 top: 0;
 z-index: 10;
 background: rgba(7, 22, 38, 0.85);
 backdrop-filter: blur(14px);
 border-bottom: 1px solid rgba(11, 165, 236, 0.15);
 padding: 12px 0;

}
.site-header.internal {
 position: relative;

}
.logo {
 display: inline-flex;
 align-items: center;
 color: var(--color-light);
 text-decoration: none;
 gap: 8px;

}
.logo img {
 height: clamp(96px, 13vw, 160px);
 width: auto;
 display: block;
 margin: 0;
 object-fit: contain;
}

.logo:hover {
 opacity: 0.85;

}
.main-nav {
 position: relative;

}
.nav-list {
 display: flex;
 gap: 18px;
 list-style: none;
 align-items: center;

}
.nav-list a {
 color: var(--color-light);
 text-decoration: none;
 font-weight: 500;
 transition: color 0.2s ease;

}
.nav-list a:hover,.nav-list a.active {
 color: var(--color-primary);

}
.nav-toggle {
 display: none;
 background: transparent;
 border: 1px solid rgba(255, 255, 255, 0.3);
 color: var(--color-light);
 padding: 8px 12px;
 border-radius: var(--radius-small);
 font-size: 0.9rem;

}
.btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 padding: 12px 22px;
 background: var(--color-gradient);
 color: #06111f;
 border-radius: var(--radius-small);
 font-weight: 600;
 text-decoration: none;
 border: none;
 transition: transform 0.2s ease, box-shadow 0.2s ease;
 cursor: pointer;

}
.btn:hover {
 transform: translateY(-2px);
 box-shadow: var(--shadow-card);

}
.btn-outline {
 background: transparent;
 color: var(--color-light);
 border: 1px solid rgba(11, 165, 236, 0.5);

}
.btn-outline:hover {
 background: rgba(11, 165, 236, 0.12);

}
.btn-small {
 padding: 10px 18px;
 font-size: 0.9rem;

}
.hero {
 padding: 120px 0 80px;
 background: radial-gradient(circle at top left, rgba(11, 165, 236, 0.35), transparent 55%), radial-gradient(circle at top right, rgba(18, 188, 214, 0.25), transparent 60%), #071626;

}
.hero .badge {
 display: inline-block;
 padding: 6px 14px;
 border-radius: 999px;
 background: rgba(11, 165, 236, 0.15);
 color: var(--color-primary);
 font-size: 0.85rem;
 font-weight: 600;
 margin-bottom: 18px;

}
.hero h1 {
 font-size: clamp(2.5rem, 5vw, 3.4rem);
 line-height: 1.15;
 margin-bottom: 18px;

}
.hero p {
 color: var(--color-muted);
 max-width: 540px;
 margin-bottom: 28px;

}
.hero-cta {
 display: flex;
 gap: 16px;
 flex-wrap: wrap;
 margin-bottom: 32px;

}
.hero-metrics {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
 gap: 16px;

}
.hero-metrics strong {
 display: block;
 font-size: 1.6rem;
 color: var(--color-primary);

}
.hero-visual {
 display: flex;
 align-items: center;

}
.floating-card {
 background: rgba(13, 40, 66, 0.85);
 border: 1px solid rgba(11, 165, 236, 0.25);
 border-radius: var(--radius-large);
 padding: 32px;
 box-shadow: var(--shadow-elevated);
 position: relative;
 overflow: hidden;

}
.floating-card::after {
 content: '';
 position: absolute;
 inset: 0;
 background: radial-gradient(circle at top right, rgba(18, 214, 167, 0.15), transparent 60%);
 pointer-events: none;

}
.floating-card h3 {
 font-size: 1.35rem;
 margin-bottom: 12px;

}
.floating-card p {
 color: var(--color-muted);
 margin-bottom: 20px;

}
.tech-stack {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
 list-style: none;

}
.tech-stack li {
 padding: 6px 12px;
 border-radius: 999px;
 background: rgba(11, 165, 236, 0.12);
 font-size: 0.85rem;

}
.trust-strip {
 padding: 26px 0;
 border-top: 1px solid rgba(11, 165, 236, 0.1);
 border-bottom: 1px solid rgba(11, 165, 236, 0.1);

}
.strip-heading {
 font-weight: 500;

}
.logo-strip {
 display: flex;
 gap: 32px;
 flex-wrap: wrap;
 color: rgba(255, 255, 255, 0.6);
 font-size: 0.95rem;

}
.section-heading {
 text-align: center;
 margin-bottom: 40px;

}
.section-heading h2 {
 font-size: clamp(2rem, 3vw, 2.6rem);
 margin-bottom: 12px;

}
.section-heading p {
 color: var(--color-muted);
 max-width: 520px;
 margin: 0 auto;

}
.services {
 padding: 80px 0 40px;

}
.service-grid {
 display: grid;
 gap: 24px;
 grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));

}
.card {
 background: rgba(13, 40, 66, 0.9);
 border-radius: var(--radius-medium);
 padding: 28px;
 border: 1px solid rgba(11, 165, 236, 0.18);
 transition: transform 0.2s ease, border 0.2s ease;

}
.card:hover {
 transform: translateY(-4px);
 border-color: rgba(11, 165, 236, 0.4);

}
.card h3 {
 margin-bottom: 12px;

}
.card p {
 color: var(--color-muted);
 margin-bottom: 16px;

}
.card ul {
 list-style: none;
 margin-bottom: 18px;
 color: rgba(245, 251, 255, 0.85);

}
.card li + li {
 margin-top: 8px;

}
.link {
 color: var(--color-accent);
 text-decoration: none;
 font-weight: 500;

}
.link:hover {
 text-decoration: underline;

}
.solutions {
 padding: 60px 0;

}
.solution-list {
 margin-top: 18px;
 list-style: none;
 color: rgba(245, 251, 255, 0.85);

}
.solution-list li + li {
 margin-top: 12px;

}
.metric-panel {
 background: rgba(13, 40, 66, 0.9);
 padding: 32px;
 border-radius: var(--radius-medium);
 border: 1px solid rgba(11, 165, 236, 0.18);

}
.metric-panel span {
 color: var(--color-success);
 font-weight: 600;
 margin-right: 10px;

}
.case-study {
 padding: 80px 0;

}
.case-study ul {
 list-style: none;
 margin-top: 16px;
 color: rgba(245, 251, 255, 0.85);

}
.testimonial {
 margin-top: 24px;
 border-left: 4px solid var(--color-primary);
 padding-left: 18px;

}
.testimonial blockquote {
 font-style: italic;
 color: rgba(245, 251, 255, 0.9);

}
.before-after {
 display: grid;
 gap: 18px;

}
.before,.after {
 background: rgba(13, 40, 66, 0.88);
 padding: 24px;
 border-radius: var(--radius-medium);
 border: 1px solid rgba(11, 165, 236, 0.18);

}
.process-preview {
 padding: 80px 0;

}
.process-grid {
 display: grid;
 gap: 22px;
 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

}
.step-card {
 padding: 24px;
 background: rgba(13, 40, 66, 0.9);
 border-radius: var(--radius-medium);
 border: 1px solid rgba(11, 165, 236, 0.18);
 position: relative;

}
.step-card span {
 position: absolute;
 top: 18px;
 right: 24px;
 font-size: 2rem;
 font-weight: 600;
 color: rgba(255, 255, 255, 0.18);

}
.cta {
 padding: 70px 0;
 background: linear-gradient(120deg, rgba(11, 165, 236, 0.15), rgba(18, 214, 198, 0.18));

}
.cta .cta-links {
 display: flex;
 gap: 16px;
 margin-top: 12px;

}
.cta a {
 color: var(--color-light);

}
.inline-form {
 display: flex;
 gap: 12px;
 flex-wrap: wrap;

}
.inline-form input {
 flex: 1;
 min-width: 220px;

}
.site-footer {
 padding: 50px 0 20px;
 background: #050f1b;
 border-top: 1px solid rgba(11, 165, 236, 0.1);

}
.site-footer.internal {
 padding: 36px 0;

}
.footer-links {
 list-style: none;
 margin: 12px 0 24px;
 display: grid;
 gap: 8px;

}
.footer-links a {
 color: rgba(245, 251, 255, 0.75);
 text-decoration: none;

}
.footer-links a:hover {
 color: var(--color-primary);

}
.newsletter {
 display: grid;
 gap: 12px;

}
.newsletter input {
 width: 100%;

}
.footer-legal {
 margin-top: 32px;
 display: flex;
 justify-content: space-between;
 align-items: center;
 gap: 18px;
 border-top: 1px solid rgba(11, 165, 236, 0.12);
 padding-top: 18px;

}
.footer-cta {
 display: flex;
 gap: 12px;

}
/* Internal page styles */.page-hero {
 padding: 80px 0 60px;
 background: rgba(11, 165, 236, 0.08);
 border-bottom: 1px solid rgba(11, 165, 236, 0.16);

}
.page-hero h1 {
 font-size: clamp(2.2rem, 4vw, 3rem);
 margin-bottom: 12px;

}
.page-hero p {
 color: rgba(245, 251, 255, 0.78);
 max-width: 620px;

}
.service-detail,.solution-section,.case-grid,.before-after-gallery,.testimonial-band,.process-intro,.process-steps,.support-section,.about-story,.growth-methodology,.team-section,.partnerships,.lead-form,.pricing,.calculator,.support,.contact {
 padding: 70px 0;

}
.offer-panel,.insight {
 background: rgba(13, 40, 66, 0.85);
 border-radius: var(--radius-medium);
 padding: 24px;
 border: 1px solid rgba(11, 165, 236, 0.18);

}
.detail-list {
 list-style: none;
 color: rgba(245, 251, 255, 0.85);

}
.detail-list li + li {
 margin-top: 10px;

}
.case-grid .grid {
 gap: 28px;

}
.case-card,.gallery-card,.pricing-card,.phase-card,.team-card {
 background: rgba(13, 40, 66, 0.9);
 border-radius: var(--radius-medium);
 padding: 26px;
 border: 1px solid rgba(11, 165, 236, 0.18);
 box-shadow: 0 10px 25px rgba(5, 19, 40, 0.22);

}
.case-card .tag {
 display: inline-block;
 padding: 4px 12px;
 border-radius: 999px;
 background: rgba(18, 214, 198, 0.15);
 color: var(--color-accent);
 font-size: 0.8rem;
 margin-bottom: 10px;

}
.case-card ul,.gallery-card ul {
 list-style: none;
 color: rgba(245, 251, 255, 0.85);
 margin-top: 12px;

}
.testimonial-band {
 background: rgba(13, 40, 66, 0.75);

}
.testimonial-band blockquote {
 font-size: 1.4rem;
 line-height: 1.5;

}
.testimonial-band .author {
 font-weight: 600;
 margin-bottom: 8px;

}
.pricing-card .price {
 font-size: 1.8rem;
 color: var(--color-primary);
 margin: 10px 0 18px;

}
.form-card {
 display: grid;
 gap: 18px;
 background: rgba(13, 40, 66, 0.9);
 border-radius: var(--radius-medium);
 padding: 28px;
 border: 1px solid rgba(11, 165, 236, 0.2);
 box-shadow: var(--shadow-card);

}
.form-control {
 display: grid;
 gap: 8px;

}
label {
 font-weight: 500;

}
input,select,textarea {
 background: rgba(7, 22, 38, 0.8);
 border: 1px solid rgba(11, 165, 236, 0.3);
 border-radius: var(--radius-small);
 padding: 12px 14px;
 color: var(--color-light);
 font-size: 1rem;

}
input:focus,select:focus,textarea:focus {
 outline: none;
 border-color: var(--color-primary);
 box-shadow: 0 0 0 3px rgba(11, 165, 236, 0.25);

}
textarea {
 resize: vertical;

}
.form-footnote {
 font-size: 0.85rem;
 color: var(--color-muted);

}
.result-box {
 padding: 16px;
 border-radius: var(--radius-small);
 background: rgba(11, 165, 236, 0.08);
 border: 1px solid rgba(11, 165, 236, 0.2);

}
.result-box .estimate {
 font-size: 1.8rem;
 font-weight: 600;
 color: var(--color-success);

}
.key-metrics {
 display: grid;
 gap: 20px;

}
.key-metrics strong {
 font-size: 1.6rem;
 color: var(--color-primary);

}
.tech-grid {
 display: grid;
 gap: 12px;
 grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));

}
.tech-grid span {
 background: rgba(11, 165, 236, 0.1);
 padding: 12px;
 border-radius: var(--radius-small);
 text-align: center;

}
.values ul {
 list-style: none;
 color: rgba(245, 251, 255, 0.85);

}
.phase-card h3 {
 color: var(--color-primary);
 margin-bottom: 8px;

}
.team-card h3 {
 margin-bottom: 6px;

}
.team-card p:first-of-type {
 color: var(--color-primary);
 font-weight: 500;
 margin-bottom: 6px;

}
.lead-form form,.calculator form,.support form,.contact form {
 align-self: start;

}
.contact a {
 color: var(--color-accent);
 text-decoration: none;

}
.contact a:hover {
 text-decoration: underline;

}
.sr-only {
 position: absolute;
 width: 1px;
 height: 1px;
 padding: 0;
 margin: -1px;
 overflow: hidden;
 clip: rect(0, 0, 0, 0);
 white-space: nowrap;
 border: 0;

}
/* Responsive adjustments */
@media (max-width: 960px) {
 .site-header {
  padding: 12px 0;
 }

 .logo img {
  height: clamp(72px, 22vw, 120px);
  width: auto;
  display: block;
  margin: 0;
  object-fit: contain;
 }

 .nav-toggle {
  display: inline-flex;
 }

 .nav-list {
  position: absolute;
  top: 60px;
  right: 0;
  background: rgba(7, 22, 38, 0.95);
  flex-direction: column;
  align-items: flex-start;
  padding: 18px 20px;
  border-radius: var(--radius-medium);
  width: 220px;
  border: 1px solid rgba(11, 165, 236, 0.2);
  box-shadow: var(--shadow-card);
  display: none;
 }

 .nav-list.open {
  display: flex;
 }

 .nav-list .btn {
  width: 100%;
  justify-content: center;
 }

 .hero {
  padding: 90px 0 60px;
 }

 .hero-visual {
  order: -1;
 }

 .logo-strip {
  justify-content: center;
 }

 .cta .container {
  text-align: center;
 }

 .cta .inline-form,
 .cta .cta-links {
  justify-content: center;
 }

 .footer-legal {
  flex-direction: column;
  align-items: flex-start;
 }
}

@media (max-width: 600px) {
 .hero h1 {
  font-size: 2.2rem;
 }

 .trust-strip {
  text-align: center;
 }

 .hero-cta {
  flex-direction: column;
  align-items: stretch;
 }

 .inline-form {
  flex-direction: column;
 }
}

.form-feedback {
 margin-top: 8px;
}

.form-success {
 color: var(--color-success);
 font-size: 0.9rem;
}

.form-error {
 color: #ff6b6b;
 font-size: 0.9rem;
}



