:root {
/* Nord — Snow Storm (light surfaces, text on dark) */
--color-snow-1: #d8dee9;
--color-snow-2: #e5e9f0;
--color-snow-3: #eceff4;
/* Nord — Polar Night (dark surfaces) */
--color-night-0: #2e3440;
--color-night-1: #3b4252;
--color-night-2: #434c5e;
--color-night-3: #4c566a;
/* Nord — Frost (accents, links, highlights) */
--color-frost-1: #81a1c1;
--color-frost-2: #88c0d0;
--color-frost-3: #8fbcbb;
--color-frost-4: #a3be8c;
/* Darker frost blues for light-background readability */
--color-brand-blue: #1590d7;
--color-brand-blue-hover: #0c6faa;
--color-brand-blue-active: #09669e;
/* Nord — Aurora (semantic) */
--color-aurora-red: #bf616a;
--color-aurora-orange: #d08770;
--color-aurora-yellow: #ebcb8b;
--color-aurora-green: #a3be8c;
--color-aurora-purple: #b48ead;
/* White fallback */
--color-white: #ffffff;
/* Typography */
--font-primary: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
--font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, 'Liberation Mono', 'Courier New', monospace;
/* Spacing */
--space-xs: 0.25rem;  /* 4px */
--space-sm: 0.5rem;   /* 8px */
--space-md: 1rem;     /* 16px */
--space-lg: 1.5rem;   /* 24px */
--space-xl: 2rem;     /* 32px */
--space-2xl: 3rem;    /* 48px */
--space-3xl: 4rem;    /* 64px */
--space-4xl: 5rem;    /* 80px */
--space-5xl: 6.25rem; /* 100px */
/* Layout */
--container-max: 1200px;
--container-wide: 1500px;
--border-radius: 6px;
--border-radius-lg: 8px;
}
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth;
font-size: 16px;
}
body {
font-family: var(--font-primary);
line-height: 1.625;
color: var(--color-night-0);
background-color: var(--color-snow-3);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
color: var(--color-brand-blue-hover);
text-decoration: none;
transition: color 0.2s ease, text-decoration 0.2s ease;
}
a:hover {
color: var(--color-brand-blue);
}
a:focus-visible {
outline: 3px solid var(--color-brand-blue);
outline-offset: 2px;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 700;
line-height: 1.18;
color: var(--color-night-0);
}
.container {
width: 100%;
max-width: var(--container-max);
margin: 0 auto;
padding: 0 var(--space-lg);
}
.container--wide {
max-width: var(--container-wide);
}
.section {
padding: var(--space-4xl) 0;
}
.section--dark h1,
.section--dark h2,
.section--dark h3,
.section--dark h4,
.section--dark h5,
.section--dark h6 {
color: var(--color-snow-3);
}
.heading-h2 {
font-size: 2rem;
font-weight: 700;
line-height: 1.20;
}
.heading-h3 {
  font-size: 1.63rem;
  font-weight: 600;
  line-height: 1.22;
  text-align: center;
  margin-top: var(--space-4xl);
  margin-bottom: var(--space-3xl);
}
.text-body {
font-size: 1rem;
font-weight: 400;
line-height: 1.625;
}
.text-body-lg {
font-size: 1.13rem;
font-weight: 400;
line-height: 1.625;
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.75rem 1.5rem;
font-family: var(--font-primary);
font-size: 1rem;
font-weight: 600;
line-height: 1.5;
border-radius: var(--border-radius);
border: 2px solid transparent;
cursor: pointer;
text-decoration: none;
transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
white-space: nowrap;
}
.btn:focus-visible {
outline: 3px solid var(--color-brand-blue-hover);
outline-offset: 2px;
}
.btn--primary {
background-color: var(--color-brand-blue-hover);
color: var(--color-white);
border-color: var(--color-brand-blue-hover);
}
.btn--primary:hover {
background-color: var(--color-brand-blue-active);
border-color: var(--color-brand-blue-active);
color: var(--color-white);
text-decoration: none;
}
.btn--secondary {
background-color: transparent;
color: var(--color-brand-blue-hover);
border-color: var(--color-brand-blue-hover);
}
.btn--secondary:hover {
background-color: var(--color-snow-3);
color: var(--color-brand-blue);
text-decoration: none;
}
.btn--dark {
background-color: var(--color-night-0);
color: var(--color-snow-3);
border-color: var(--color-night-2);
}
.btn--dark:hover {
background-color: var(--color-night-1);
color: var(--color-snow-3);
text-decoration: none;
}
.btn--white {
background-color: var(--color-white);
color: var(--color-night-0);
border-color: var(--color-white);
}
.btn--white:hover {
background-color: var(--color-snow-2);
color: var(--color-night-0);
text-decoration: none;
}
.btn--sm {
padding: 0.5rem 1rem;
font-size: 0.875rem;
}
.btn--lg {
padding: 1rem 2rem;
font-size: 1.125rem;
}
/* ========== HEADER ========== */
.header {
background-color: var(--color-white);
border-bottom: 1px solid var(--color-snow-1);
position: sticky;
top: 0;
z-index: 100;
}
.header__inner {
display: flex;
align-items: center;
justify-content: space-between;
height: 80px;
}
.header__logo {
display: inline-block;
text-decoration: none;
line-height: 1;
flex-shrink: 0;
}
.header__logo:hover {
text-decoration: none;
}
.header__logo img {
height: 48px;
width: auto;
display: block;
}
.header__nav {
display: none;
}
.header__nav-list {
display: flex;
list-style: none;
gap: var(--space-lg);
align-items: center;
}
.header__nav-link {
color: var(--color-night-2);
font-weight: 500;
font-size: 0.938rem;
text-decoration: none;
padding: var(--space-xs) 0;
position: relative;
}
.header__nav-link:hover {
color: var(--color-night-0);
text-decoration: none;
}
.header__nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background-color: var(--color-brand-blue);
transition: width 0.2s ease;
}
.header__nav-link:hover::after {
width: 100%;
}
.header__actions {
display: none;
gap: var(--space-sm);
align-items: center;
}
.header__phone {
display: flex;
align-items: center;
gap: var(--space-xs);
color: var(--color-night-2);
font-weight: 500;
font-size: 0.938rem;
text-decoration: none;
}
.header__phone:hover {
color: var(--color-brand-blue);
text-decoration: none;
}
/* ========== DROPDOWN NAVIGATION ========== */
.header__nav-item {
position: relative;
}
.header__nav-toggle {
display: flex;
align-items: center;
gap: 4px;
cursor: pointer;
padding: var(--space-xs) 0;
background: none;
border: none;
font-family: inherit;
font-size: inherit;
color: inherit;
text-decoration: none;
}
.header__nav-toggle:hover {
color: var(--color-night-0);
text-decoration: none;
}
.header__nav-toggle::after {
content: '';
display: inline-block;
width: 0;
height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 4px solid currentColor;
transition: transform 0.2s ease;
margin-left: 2px;
}
.header__nav-item:hover .header__nav-toggle::after,
.header__nav-item.active .header__nav-toggle::after {
transform: rotate(180deg);
}
.header__nav-dropdown {
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%) translateY(10px);
background-color: var(--color-white);
border: 1px solid var(--color-snow-1);
border-radius: var(--border-radius-lg);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
min-width: 240px;
padding: var(--space-sm) 0;
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
z-index: 1000;
}
.header__nav-item:hover .header__nav-dropdown,
.header__nav-item.active .header__nav-dropdown {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}
.header__nav-dropdown::before {
content: '';
position: absolute;
top: -8px;
left: 50%;
transform: translateX(-50%);
width: 16px;
height: 8px;
background-color: var(--color-white);
border-left: 1px solid var(--color-snow-1);
border-top: 1px solid var(--color-snow-1);
transform: translateX(-50%) rotate(45deg);
}
.header__nav-dropdown-list {
list-style: none;
padding: 0;
margin: 0;
}
.header__nav-dropdown-item {
border-bottom: 1px solid var(--color-snow-2);
}
.header__nav-dropdown-item:last-child {
border-bottom: none;
}
.header__nav-dropdown-link {
display: block;
padding: var(--space-sm) var(--space-lg);
color: var(--color-night-2);
text-decoration: none;
font-size: 0.938rem;
transition: background-color 0.2s ease, color 0.2s ease;
}
.header__nav-dropdown-link:hover {
background-color: var(--color-snow-3);
color: var(--color-night-0);
text-decoration: none;
}
/* ========== HAMBURGER MENU (Mobile Only) ========== */
.header__hamburger {
display: none;
}
@media (max-width: 767px) {
.header__hamburger {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 48px;
height: 48px;
background: none;
border: none;
cursor: pointer;
padding: 8px;
border-radius: var(--border-radius);
transition: background-color 0.2s ease;
order: 10;
}
.header__hamburger:hover {
background-color: var(--color-snow-2);
}
.header__hamburger:focus-visible {
outline: 3px solid var(--color-brand-blue-hover);
outline-offset: 2px;
}
.hamburger__line {
width: 24px;
height: 2px;
background-color: var(--color-night-0);
border-radius: 2px;
transition: all 0.3s ease;
position: absolute;
}
.hamburger__line--top {
transform: translateY(-6px);
}
.hamburger__line--mid {
opacity: 1;
}
.hamburger__line--bot {
transform: translateY(6px);
}
/* Active state - X shape */
.header__hamburger[aria-expanded="true"] .hamburger__line--top {
transform: rotate(45deg) translateY(0);
}
.header__hamburger[aria-expanded="true"] .hamburger__line--mid {
opacity: 0;
}
.header__hamburger[aria-expanded="true"] .hamburger__line--bot {
transform: rotate(-45deg) translateY(0);
}
/* Mobile nav dropdown */
.header__nav {
display: block;
position: relative;
width: 100%;
}
.header__nav-list {
display: none;
flex-direction: column;
width: 100%;
background-color: var(--color-white);
border-top: 1px solid var(--color-snow-1);
padding: var(--space-lg) 0;
position: absolute;
top: 100%;
left: 0;
right: 0;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
z-index: 99;
}
.header__nav.is-active .header__nav-list {
display: flex;
}
.header__nav.is-active .header__actions {
display: flex;
}
.header__nav-list li {
width: 100%;
border-bottom: 1px solid var(--color-snow-2);
}
.header__nav-list li:last-child {
border-bottom: none;
}
.header__nav-list .header__nav-link {
display: block;
padding: var(--space-md) var(--space-lg);
font-size: 1rem;
width: 100%;
text-align: left;
}
.header__nav-list .header__nav-link:hover {
background-color: var(--color-snow-3);
}
/* Mobile dropdown */
.header__nav-item {
width: 100%;
}
.header__nav-toggle {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: var(--space-md) var(--space-lg);
background: none;
border: none;
font-family: inherit;
font-size: 1rem;
color: var(--color-night-2);
cursor: pointer;
text-align: left;
}
.header__nav-toggle:hover {
background-color: var(--color-snow-3);
color: var(--color-night-0);
text-decoration: none;
}
.header__nav-toggle::after {
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 5px solid currentColor;
border-bottom: none;
margin-left: auto;
transition: transform 0.3s ease;
}
.header__nav-item.active .header__nav-toggle::after {
transform: rotate(180deg);
}
.header__nav-dropdown {
display: none;
position: static;
transform: none;
box-shadow: none;
border: none;
background-color: var(--color-snow-3);
border-radius: 0;
padding: 0;
min-width: auto;
}
.header__nav-item.active .header__nav-dropdown {
display: block;
}
.header__nav-dropdown::before {
display: none;
}
.header__nav-dropdown-link {
padding: var(--space-sm) var(--space-lg) var(--space-sm) 2rem;
}
/* Mobile actions */
.header__actions {
display: none;
flex-direction: column;
width: 100%;
padding: var(--space-md) 0;
border-top: 1px solid var(--color-snow-1);
}
.header__nav.is-active .header__actions {
display: flex;
}
.header__nav.is-active .header__actions .header__phone {
padding: var(--space-md) var(--space-lg);
}
.header__nav.is-active .header__actions .btn {
padding: var(--space-md) var(--space-lg);
width: 100%;
}
/* Overlay when menu is open */
.header__nav::after {
content: '';
position: fixed;
inset: 0;
background-color: rgba(0, 0, 0, 0.5);
z-index: -1;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header__nav.is-active::after {
opacity: 1;
visibility: visible;
z-index: -1;
}
}
@media (min-width: 768px) {
.header__nav {
display: block;
}
.header__hamburger {
display: none !important;
}
.header__actions {
display: flex;
}
}
/* ========== FOOTER ========== */
.footer {
position: relative;
background-color: #1a1d23;
border-top: none;
padding: 60px 0 20px;
color: var(--color-snow-3);
overflow: hidden;
}
.footer::before {
content: '';
position: absolute;
inset: 0;
background-image: url('/assets/squares.svg');
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
opacity: 0.25;
mix-blend-mode: multiply;
pointer-events: none;
}
.footer > .container {
position: relative;
z-index: 1;
}
.footer__inner {
display: grid;
grid-template-columns: 1fr;
gap: var(--space-2xl);
margin-bottom: var(--space-2xl);
}
.footer__brand {
max-width: 320px;
}
.footer__logo {
display: inline-block;
margin-bottom: var(--space-md);
line-height: 1;
}
.footer__logo img {
height: 48px;
width: auto;
display: block;
}
.footer__text {
color: var(--color-snow-3);
margin-bottom: var(--space-md);
}
.footer__address {
color: var(--color-snow-3);
}
.footer__contact {
color: var(--color-snow-3);
}
.footer__link {
color: var(--color-frost-3);
text-decoration: none;
}
.footer__link:hover {
color: var(--color-white);
text-decoration: none;
}
.footer__link-column {
list-style: none;
}
.footer__link-column-title {
display: inline-block;
color: var(--color-snow-3);
font-weight: 600;
margin-bottom: var(--space-md);
border-bottom: 2px solid var(--color-brand-blue);
}
.footer__link-item {
margin-bottom: var(--space-sm);
}
.footer__link {
color: var(--color-snow-3);
text-decoration: none;
}
.footer__link:hover {
color: var(--color-frost-3);
}
.footer__blog-entry {
margin-bottom: var(--space-md);
}
.footer__blog-date {
display: block;
font-size: 0.75rem;
font-style: italic;
color: var(--color-snow-2);
margin-top: 2px;
}
.footer__read-more {
font-weight: 600;
color: var(--color-brand-blue);
}
.footer__read-more:hover {
color: var(--color-frost-3);
}
.footer__bottom {
display: flex;
flex-direction: column;
gap: var(--space-md);
padding-top: var(--space-lg);
border-top: 1px solid var(--color-night-2);
text-align: center;
}
.footer__copyright {
color: var(--color-snow-3);
font-size: 0.875rem;
}
.footer__legal {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: var(--space-md);
}
.footer__legal-link {
color: var(--color-frost-3);
text-decoration: none;
font-size: 0.875rem;
}
.footer__legal-link:hover {
color: var(--color-white);
}
@media (min-width: 768px) {
.footer__inner {
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.footer__bottom {
flex-direction: row;
justify-content: space-between;
text-align: left;
}
}
/* ========== HERO ========== */
.hero {
background-color: var(--color-night-0);
background-image: url('/assets/herobg.webp');
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
padding: var(--space-5xl) 0 var(--space-4xl);
color: var(--color-white);
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
inset: 0;
background-color: rgba(10, 12, 15, 0.90);
z-index: 0;
}
.hero > .container {
position: relative;
z-index: 1;
}
.hero__inner {
display: grid;
grid-template-columns: 1fr;
gap: var(--space-2xl);
align-items: center;
}
.hero__content {
max-width: 600px;
}
.hero__badge {
display: inline-flex;
align-items: center;
gap: var(--space-sm);
background-color: rgba(21, 144, 215, 0.1);
border: 1px solid var(--color-brand-blue);
color: var(--color-snow-2);
padding: var(--space-sm) var(--space-md);
border-radius: 100px;
font-size: 0.875rem;
font-weight: 600;
margin-bottom: var(--space-xl);
}
.hero__badge-dot {
width: 8px;
height: 8px;
background-color: #81e08a;
border-radius: 50%;
animation: pulse 2s infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
.hero__heading {
font-size: 2.5rem;
font-weight: 700;
color: var(--color-snow-3);
line-height: 1.15;
margin-bottom: var(--space-lg);
}
.hero__heading-accent {
color: var(--color-brand-blue);
}
.hero__subheading {
font-size: 1.125rem;
line-height: 1.625;
margin-bottom: var(--space-xl);
color: var(--color-snow-2);
}
.hero__actions {
display: flex;
flex-direction: column;
gap: var(--space-md);
}
@media (min-width: 768px) {
.hero__inner {
grid-template-columns: 1fr;
}
.hero__heading {
font-size: 3.5rem;
}
.hero__actions {
flex-direction: row;
}
}
/* ========== COMPARISON TABLE ========== */
.comparison {
padding: var(--space-4xl) 0;
}
.comparison__header {
text-align: center;
margin-bottom: var(--space-2xl);
}
.comparison__label {
display: inline-block;
background-color: var(--color-snow-3);
color: var(--color-brand-blue);
padding: var(--space-sm) var(--space-md);
border-radius: 100px;
font-size: 1.125rem;
font-weight: 600;
margin-bottom: var(--space-md);
}
.comparison__label--dark {
background-color: var(--color-night-2);
color: var(--color-snow-3);
}
.comparison__table {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
table-layout: fixed;
}
.comparison__th,
.comparison__td {
width: 37.5%;
}
.comparison__th:nth-child(1),
.comparison__td:nth-child(1) {
width: 25%;
}
.comparison__thead {
background-color: var(--color-night-0);
color: var(--color-white);
}
.comparison__th {
padding: var(--space-md);
text-align: left;
font-weight: 600;
font-size: 0.938rem;
}
.comparison__th--highlight {
background-color: var(--color-brand-blue-hover);
}
.comparison__td {
padding: var(--space-md);
border-bottom: 1px solid var(--color-snow-1);
vertical-align: top;
}
.comparison__td--highlight {
background-color: rgba(21, 144, 215, 0.05);
}
@media (min-width: 768px) {
.comparison__th, .comparison__td {
padding: var(--space-lg);
}
}
/* ========== SERVICES ========== */
.services {
padding: var(--space-4xl) 0;
background-color: var(--color-snow-3);
}
.services__header {
text-align: center;
margin-bottom: var(--space-2xl);
}
.services__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--space-lg);
}
.service-card {
display: block;
background-color: var(--color-white);
padding: var(--space-xl);
border-radius: var(--border-radius-lg);
border: 1px solid var(--color-snow-1);
text-decoration: none !important;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.service-card:hover {
transform: translateY(-4px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
text-decoration: none !important;
}
.service-card__number {
font-size: 2rem;
font-weight: 700;
color: var(--color-brand-blue-hover);
opacity: 0.3;
margin-bottom: var(--space-md);
}
.service-card__title {
font-size: 1.25rem;
font-weight: 600;
color: var(--color-night-0);
margin-bottom: var(--space-sm);
}
.service-card__text {
color: var(--color-night-3);
font-size: 0.938rem;
}
.services__cta {
text-align: center;
margin-top: var(--space-xl);
}
@media (min-width: 768px) {
.services__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 1024px) {
.services__grid {
grid-template-columns: repeat(2, 1fr);
}
}
/* ========== INDUSTRIES ========== */
.industries {
padding: var(--space-4xl) 0;
}
.industries__header {
text-align: center;
margin-bottom: var(--space-2xl);
}
.industries__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--space-lg);
}
.industry-card {
display: block;
background-color: var(--color-white);
padding: var(--space-xl);
border-radius: var(--border-radius-lg);
border: 1px solid var(--color-snow-1);
text-decoration: none !important;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.industry-card:hover {
transform: translateY(-4px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
text-decoration: none !important;
}
.industry-card__icon {
font-size: 2rem;
margin-bottom: var(--space-md);
}
.industry-card__title {
font-size: 1.25rem;
font-weight: 600;
color: var(--color-night-0);
margin-bottom: var(--space-sm);
}
.industry-card__text {
color: var(--color-night-3);
font-size: 0.938rem;
}
@media (min-width: 768px) {
.industries__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 1024px) {
.industries__grid {
grid-template-columns: repeat(2, 1fr);
}
}
/* ========== TRUST ========== */
.trust {
padding: var(--space-4xl) 0;
background-color: var(--color-night-0);
color: var(--color-snow-3);
}
.trust h1,
.trust h2,
.trust h3,
.trust h4,
.trust h5,
.trust h6 {
color: var(--color-snow-3);
}
.trust__header {
text-align: center;
margin-bottom: var(--space-2xl);
}
.trust__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--space-xl);
}
.trust-item {
text-align: center;
}
.trust-item__icon {
font-size: 2.5rem;
margin-bottom: var(--space-md);
}
.trust-item__title {
font-size: 1.25rem;
font-weight: 600;
color: var(--color-snow-3);
margin-bottom: var(--space-sm);
}
.trust-item__text {
color: var(--color-snow-3);
font-size: 0.938rem;
}
@media (min-width: 768px) {
.trust__grid {
grid-template-columns: repeat(2, 1fr);
}
}
/* ========== TESTIMONIALS ========== */
.testimonials {
padding: var(--space-4xl) 0;
background-color: var(--color-snow-3);
}
.testimonials__header {
text-align: center;
margin-bottom: var(--space-2xl);
}
.testimonials__carousel {
display: flex;
align-items: center;
gap: var(--space-md);
position: relative;
max-width: 100%;
}
.testimonials__track-wrapper {
overflow: hidden;
flex: 1;
min-width: 0;
}
.testimonials__track {
display: flex;
transition: transform 0.4s ease;
}
.testimonial-slide {
min-width: 100%;
max-width: 100%;
flex-shrink: 0;
}
.testimonial-card {
background-color: var(--color-white);
padding: var(--space-xl);
border-radius: var(--border-radius-lg);
border: 1px solid var(--color-snow-1);
width: 100%;
}
.testimonial-card__stars {
color: #f59e0b;
font-size: 1.25rem;
margin-bottom: var(--space-md);
}
.testimonial-card__text {
color: var(--color-night-2);
font-size: 1.25rem;
margin-bottom: var(--space-lg);
line-height: 1.625;
word-wrap: break-word;
overflow-wrap: break-word;
}
.testimonial-card__author {
font-style: normal;
color: var(--color-night-3);
font-size: 0.875rem;
}
.testimonials__nav {
display: none;
flex-shrink: 0;
width: 40px;
height: 40px;
border-radius: 50%;
border: 2px solid var(--color-brand-blue);
background: var(--color-white);
color: var(--color-brand-blue);
cursor: pointer;
align-items: center;
justify-content: center;
transition: background 0.2s, color 0.2s;
}
.testimonials__nav:hover {
background: var(--color-brand-blue);
color: var(--color-white);
}
.testimonials__dots {
display: flex;
justify-content: center;
gap: var(--space-sm);
margin-top: var(--space-lg);
}
.testimonials__dot {
width: 10px;
height: 10px;
border-radius: 50%;
border: none;
background: var(--color-snow-1);
cursor: pointer;
padding: 0;
transition: background 0.2s, transform 0.2s;
}
.testimonials__dot.is-active {
background: var(--color-brand-blue);
transform: scale(1.2);
}
@media (min-width: 768px) {
.testimonials__nav {
display: flex;
}
}
/* ========== CTA SECTION ========== */
.cta {
padding: var(--space-4xl) 0;
background-color: var(--color-brand-blue-hover);
color: var(--color-white);
text-align: center;
}
.cta h1,
.cta h2,
.cta h3,
.cta h4,
.cta h5,
.cta h6 {
color: var(--color-white);
}
.cta__heading {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: var(--space-md);
}
.cta__subheading {
font-size: 1.125rem;
margin-bottom: var(--space-xl);
color: var(--color-snow-3);
}
/* ========== PAGE HERO (for inner pages) ========== */
.page-hero {
background-color: #1a1d23;
position: relative;
padding: var(--space-5xl) 0 var(--space-4xl);
color: var(--color-white);
overflow: hidden;
}
.page-hero::before {
content: '';
position: absolute;
inset: 0;
background-image: url('/assets/squares.svg');
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
opacity: 0.25;
mix-blend-mode: multiply;
pointer-events: none;
}
.page-hero > .container {
position: relative;
z-index: 1;
}
.page-hero__title {
font-size: 1.5rem;
font-weight: 700;
color: var(--color-snow-3);
margin-bottom: var(--space-xl);
}
.page-hero__meta {
font-size: 1.125rem;
color: var(--color-snow-2);
}
@media (min-width: 768px) {
.page-hero__title {
font-size: 2.25rem;
}
}
/* ========== BREADCRUMB ========== */
.breadcrumb {
padding: 1.25rem 0;
background-color: var(--color-snow-2);
border-bottom: 1px solid var(--color-snow-1);
}
.breadcrumb__list {
display: flex;
list-style: none;
gap: var(--space-sm);
align-items: center;
font-size: 0.875rem;
}
.breadcrumb__item {
display: flex;
align-items: center;
gap: var(--space-sm);
}

.breadcrumb__link {
color: var(--color-night-3);
text-decoration: none;
}
.breadcrumb__link:hover {
color: var(--color-brand-blue-hover);
}
.breadcrumb__current {
color: var(--color-night-0);
font-weight: 500;
}
/* ========== SERVICE PAGES ========== */
.service-section__list-item::before {
content: '✓';
position: absolute;
left: 0;
color: var(--color-brand-blue-hover);
font-weight: 700;
}
/* ========== PLATFORM CARDS ========== */
.platform-card {
background-color: var(--color-white);
border: 1px solid var(--color-snow-1);
border-radius: var(--border-radius-lg);
padding: var(--space-xl);
text-decoration: none !important;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.platform-card:hover {
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
text-decoration: none !important;
}
.platform-card__header {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    border-bottom: 1px solid var(--color-snow-1);
}
.platform-card__icon {
font-size: 2.5rem;
flex-shrink: 0;
width: 56px;
height: 56px;
display: flex;
align-items: center;
justify-content: center;
background-color: var(--color-snow-2);
border-radius: var(--border-radius-lg);
}
.platform-card__title {
font-size: 1.125rem;
font-weight: 700;
color: var(--color-night-0);
margin: 0;
margin-top: 32px;
line-height: 1.3;
}
.platform-card__body {
color: var(--color-night-2);
line-height: 1.7;
margin-top: var(--space-md);
}
.platform-card__body p {
margin-bottom: var(--space-md);
}
.platform-card__body p:last-child {
margin-bottom: 0;
}
.platform-card__body ul {
margin: var(--space-md) 0;
padding-left: var(--space-lg);
}
.platform-card__body li {
margin-bottom: var(--space-sm);
color: var(--color-night-2);
}
.platform-card__body li:last-child {
margin-bottom: 0;
}
/* ========== FAQ ========== */
/* ========== BLOG ========== */
.blog-index__title a {
color: var(--color-night-0);
text-decoration: none;
}
.blog-index__title a:hover {
color: var(--color-brand-blue-hover);
}
/* ========== BLOG LIST (Featured + List) ========== */
.blog-list {
margin-bottom: var(--space-4xl);
}
.blog-featured {
position: relative;
padding: var(--space-xl) var(--space-xl) var(--space-xl) var(--space-2xl);
border-left: 4px solid var(--color-brand-blue);
background-color: var(--color-white);
border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0;
margin-bottom: var(--space-2xl);
}
.blog-featured__link {
text-decoration: none;
color: inherit;
}
.blog-featured__label {
display: inline-block;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--color-brand-blue);
margin-bottom: var(--space-sm);
}
.blog-featured__title {
font-size: 1.5rem;
font-weight: 700;
line-height: 1.25;
color: var(--color-night-0);
margin-bottom: var(--space-sm);
}
.blog-featured__link:hover .blog-featured__title {
color: var(--color-brand-blue);
text-decoration: none;
}
.blog-featured__excerpt {
font-size: 1rem;
line-height: 1.625;
color: var(--color-night-2);
margin-bottom: var(--space-sm);
}
.blog-featured__meta {
font-size: 0.813rem;
color: var(--color-night-3);
}
.blog-articles {
list-style: none;
padding: 0;
margin: 0;
}
.blog-article {
padding-top: var(--space-xl);
padding-bottom: var(--space-lg);
border-top: 1px solid var(--color-snow-1);
}
.blog-article__link {
text-decoration: none;
color: inherit;
display: flex;
gap: var(--space-lg);
align-items: baseline;
}
.blog-article__date {
flex-shrink: 0;
font-size: 0.813rem;
color: var(--color-night-3);
font-style: normal;
min-width: 90px;
}
.blog-article__content {
flex: 1;
min-width: 0;
}
.blog-article__title {
font-size: 1.125rem;
font-weight: 600;
line-height: 1.3;
color: var(--color-night-0);
margin-bottom: var(--space-xs);
}
.blog-article__link:hover .blog-article__title {
color: var(--color-brand-blue);
text-decoration: none;
}
.blog-article__excerpt {
font-size: 0.938rem;
line-height: 1.625;
color: var(--color-night-2);
margin-bottom: var(--space-xs);
}
.blog-article__category {
font-size: 0.75rem;
font-weight: 500;
color: var(--color-brand-blue);
margin-bottom: var(--space-sm);
}
@media (max-width: 767px) {
.blog-featured {
padding: var(--space-md) var(--space-md) var(--space-md) var(--space-lg);
}
.blog-featured__title {
font-size: 1.25rem;
}
.blog-article__link {
flex-direction: column;
gap: var(--space-xs);
}
.blog-article__date {
min-width: auto;
}
}
/* ========== BLOG POST ========== */
.blog-post__content h2 {
font-size: 1.5rem;
font-weight: 600;
margin-top: var(--space-2xl);
margin-bottom: var(--space-md);
color: var(--color-night-0);
}
.blog-post__content h3 {
font-size: 1.25rem;
font-weight: 600;
margin-top: var(--space-xl);
margin-bottom: var(--space-sm);
color: var(--color-night-0);
}
.blog-post__content p {
margin-bottom: var(--space-lg);
}
.blog-post__content ul,
.blog-post__content ol {
margin-bottom: var(--space-lg);
padding-left: var(--space-xl);
}
.blog-post__content li {
margin-bottom: var(--space-sm);
}
/* ========== ABOUT PAGE ========== */
@media (min-width: 768px) 
@media (min-width: 1024px) 
/* ========== WHY PAGE ========== */
@media (min-width: 768px) 
@media (min-width: 1024px) 
/* ========== INDUSTRIES PAGE ========== */
@media (min-width: 768px) 
/* ========== CONTACT PAGE ========== */
.contact-form__input,
@media (min-width: 768px) 
/* ========== LEGAL PAGES ========== */
.legal-content h1 {
font-size: 2rem;
margin-bottom: var(--space-xl);
}
.legal-content h2 {
font-size: 1.5rem;
margin-top: var(--space-2xl);
margin-bottom: var(--space-md);
}
.legal-content p {
margin-bottom: var(--space-lg);
color: var(--color-night-2);
}
.legal-content ul,
.legal-content ol {
margin-bottom: var(--space-lg);
padding-left: var(--space-xl);
}
/* ========== RESOURCES PAGE ========== */
.resource-card:hover {
transform: translateY(-4px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
text-decoration: none !important;
}
@media (min-width: 768px) 
/* ========== INNER PAGE CONTENT ========== */
.content__intro p {
font-size: 1.125rem;
line-height: 1.75;
color: var(--color-night-2);
}
.content h2 {
font-size: 1.5rem;
font-weight: 700;
color: var(--color-night-0);
margin-bottom: var(--space-xl);
line-height: 1.3;
}
.platform-grid {
margin-bottom: var(--space-4xl);
display: grid;
grid-template-columns: 1fr;
gap: var(--space-xl);
}
@media (min-width: 768px) {
.platform-grid {
grid-template-columns: repeat(2, 1fr);
}
.platform-grid article.platform-card:last-child:nth-child(odd) {
grid-column: 1 / -1;
max-width: 50%;
justify-self: center;
}
/* ========== SERVICE ROWS (Two-Column Alternating) ========== */
.service-rows {
margin-bottom: var(--space-4xl);
}
.service-row {
display: flex;
gap: var(--space-2xl);
align-items: center;
padding: var(--space-xl) 0;
border-bottom: 1px solid var(--color-snow-1);
}
.service-row:last-child {
border-bottom: none;
}
.service-row__visual {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
width: 100px;
height: 100px;
border-radius: 50%;
background-color: var(--color-snow-3);
}
.service-row__icon {
font-size: 2.5rem;
line-height: 1;
}
.service-row__content {
flex: 1;
min-width: 0;
}
.service-row__title {
font-size: 1.25rem;
font-weight: 600;
color: var(--color-night-0);
margin-bottom: var(--space-sm);
}
.service-row__description {
font-size: 0.938rem;
line-height: 1.625;
color: var(--color-night-2);
margin: 0;
}
@media (max-width: 767px) {
.service-row {
flex-direction: column;
text-align: center;
gap: var(--space-md);
}
.service-row__visual {
width: 64px;
height: 64px;
}
.service-row__icon {
font-size: 1.5rem;
}
}
/* ========== TIMELINE (Horizontal) ========== */
.timeline {
display: flex;
gap: var(--space-xl);
position: relative;
padding: var(--space-xl) 0;
}
.timeline::before {
content: '';
position: absolute;
top: calc(var(--space-xl) + 23px);
left: 0;
right: 0;
height: 2px;
background-color: var(--color-snow-1);
z-index: 0;
}
.timeline-step {
flex: 1;
text-align: center;
position: relative;
z-index: 1;
}
.timeline-step__number {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 50%;
background-color: var(--color-brand-blue);
color: var(--color-white);
font-size: 1.125rem;
font-weight: 700;
margin-bottom: var(--space-md);
}
.timeline-step__title {
font-size: 1rem;
font-weight: 600;
color: var(--color-night-0);
margin-bottom: var(--space-sm);
}
.timeline-step__description {
font-size: 0.875rem;
line-height: 1.625;
color: var(--color-night-2);
margin: 0;
}
@media (max-width: 767px) {
.timeline {
flex-direction: column;
gap: var(--space-lg);
padding: var(--space-lg) 0;
}
.timeline::before {
display: none;
}
.timeline-step {
text-align: left;
display: flex;
gap: var(--space-md);
align-items: flex-start;
}
.timeline-step__number {
flex-shrink: 0;
width: 40px;
height: 40px;
font-size: 1rem;
margin-bottom: 0;
}
}
}
.answer-block {
background-color: var(--color-snow-2);
border-left: 4px solid var(--color-brand-blue);
padding: var(--space-xl);
border-radius: 0 var(--border-radius) var(--border-radius) 0;
margin-top: var(--space-3xl);
margin-bottom: var(--space-3xl);
}
.answer-block h2 {
font-size: 1.25rem;
font-weight: 700;
color: var(--color-night-0);
margin-bottom: var(--space-md);
}
.answer-block p {
color: var(--color-night-2);
line-height: 1.7;
margin-bottom: var(--space-lg);
}
.answer-block p:last-child {
margin-bottom: 0;
}
.answer-block .flex-wrap {
display: flex;
flex-wrap: wrap;
gap: var(--space-lg);
}
.answer-block .flex-wrap > div {
display: flex;
align-items: center;
gap: var(--space-sm);
}
.answer-block .flex-wrap svg {
flex-shrink: 0;
}
.answer-block .flex-wrap span {
color: var(--color-night-2);
font-size: 0.938rem;
font-weight: 500;
}
.callout {
margin-top: 2.5rem;
margin-bottom: var(--space-4xl);
padding: var(--space-2xl);
background-color: var(--color-snow-2);
border-radius: var(--border-radius-lg);
}
.callout__title {
font-size: 1.375rem;
font-weight: 700;
color: var(--color-night-0);
text-align: center;
margin-bottom: var(--space-lg);
}
.content > div {
margin-bottom: var(--space-4xl);
}
.content > div:last-child {
margin-bottom: 0;
}
.content ol {
margin: 0;
padding-left: var(--space-xl);
line-height: 1.8;
color: var(--color-night-2);
}
.content ol li {
margin-bottom: var(--space-md);
}
.content ol li:last-child {
margin-bottom: 0;
}
.content ol li strong {
color: var(--color-night-0);
}
.content details {
border-bottom: 1px solid var(--color-snow-1);
}
.content details:last-of-type {
border-bottom: none;
}
.content summary {
padding: var(--space-lg);
cursor: pointer;
font-weight: 600;
color: var(--color-night-1);
background-color: var(--color-snow-3);
list-style: none;
}
.content summary::-webkit-details-marker {
display: none;
}
.content summary::marker {
display: none;
content: '';
}
.content summary:hover {
background-color: var(--color-snow-2);
}
.content details[open] summary {
border-bottom: 1px solid var(--color-snow-1);
}
.content .details-body {
padding: var(--space-lg);
color: var(--color-night-2);
line-height: 1.7;
}
.content .details-body p {
margin-bottom: var(--space-md);
}
.content .details-body p:last-child {
margin-bottom: 0;
}
/* Trust grid for trust signal items */
.trust-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--space-lg);
text-align: center;
}
.trust-item {
padding: var(--space-md);
}
.trust-item__icon {
font-size: 2rem;
margin-bottom: var(--space-sm);
}
/* Mission section (about / why pages) */
.mission-section {
text-align: center;
margin-top: var(--space-4xl);
background-color: var(--color-white);
border-radius: var(--border-radius);
padding: var(--space-3xl);
border: 1px solid var(--color-snow-1);
}
.mission-text {
text-align: center;
max-width: 800px;
margin: 0 auto var(--space-xl);
font-size: 1.1rem;
line-height: 1.7;
color: var(--color-night-2);
}
.mission-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: var(--space-xl);
margin-top: var(--space-2xl);
}
.mission-item {
text-align: center;
padding: var(--space-lg);
}
.mission-item__icon {
font-size: 2rem;
margin-bottom: var(--space-sm);
}
/* ========== ACCESSIBILITY ========== */
/* ========== MAIN CONTENT ========== */
.content {
max-width: 900px;
margin: 0 auto;
padding-top: var(--space-4xl);
padding-bottom: var(--space-3xl);
}
/* ========== LEGAL PAGES ========== */
.legal {
max-width: 900px;
margin: 0 auto;
}
.legal__section {
margin-bottom: var(--space-3xl);
padding-bottom: var(--space-2xl);
border-bottom: 1px solid var(--color-snow-1);
}
.legal__section:last-of-type {
border-bottom: none;
}
.legal__number {
font-size: 0.875rem;
font-weight: 600;
color: var(--color-brand-blue-hover);
text-transform: uppercase;
letter-spacing: 0.05em;
display: block;
margin-bottom: var(--space-sm);
}
.legal__title {
font-size: 1.375rem;
font-weight: 700;
color: var(--color-night-0);
margin-top: var(--space-md);
margin-bottom: var(--space-lg);
}
.legal__text {
color: var(--color-night-2);
line-height: 1.7;
}
.legal__text p {
margin-bottom: var(--space-md);
}
.legal__text p:last-child {
margin-bottom: 0;
}
.legal__last-updated {
max-width: 900px;
margin: var(--space-3xl) auto 0;
text-align: center;
padding-top: var(--space-2xl);
border-top: 1px solid var(--color-snow-1);
}
/* ========== MAP SECTION ========== */
.map-section {
margin-top: var(--space-4xl);
text-align: center;
}
.map-section h2 {
font-size: 1.5rem;
font-weight: 700;
color: var(--color-night-0);
margin-bottom: var(--space-xl);
}
.map-section #map {
width: 100%;
height: 400px;
border-radius: var(--border-radius-lg);
border: 1px solid var(--color-snow-1);
}
/* ========== OFFICE ADDRESS ========== */
.office-address {
font-style: normal;
text-align: center;
margin-top: var(--space-lg);
color: var(--color-night-2);
line-height: 1.7;
}
/* ========== CTA SECTION ========== */
.cta-section {
text-align: center;
margin-bottom: var(--space-3xl);
}
/* ========== BLOG ARTICLE STYLES ========== */
.article-wrapper {
max-width: calc(100% - var(--space-2xl));
margin: 0 auto;
}
.article-content {
line-height: 1.8;
color: var(--color-night-2);
}
.article-content p {
margin-bottom: var(--space-lg);
}
.article-content ul {
margin: var(--space-lg) 0 var(--space-2xl) 0;
padding-left: var(--space-xl);
}
.article-content li {
margin-bottom: var(--space-md);
line-height: 1.7;
color: var(--color-night-2);
}
.article-content h2,
.article-h2 {
font-size: 1.375rem;
font-weight: 700;
color: var(--color-night-0);
margin-top: 2rem;
margin-bottom: 1rem;
}
/* ========== RESPONSIVE UTILITIES ========== */
@media (max-width: 767px) {
.heading-h2 {
font-size: 1.75rem;
}
}
/* ========== TABLET BREAKPOINT ========== */
@media (min-width: 768px) and (max-width: 1023px) {
.content {
max-width: none;
padding-top: var(--space-4xl);
padding-bottom: var(--space-3xl);
}
.container {
padding: 0 var(--space-md);
}
}
/* ========== DESKTOP BREAKPOINT ========== */
@media (min-width: 1024px) {
.content {
max-width: 900px;
padding-top: var(--space-4xl);
padding-bottom: var(--space-3xl);
}
.container {
padding: 0 var(--space-lg);
}
.article-wrapper {
max-width: 800px;
margin: 0 auto;
}
}