:root {
  --navy: #142d55;
  --navy-deep: #0b1e3a;
  --navy-soft: #234777;
  --cyan: #41b6e6;
  --cyan-deep: #1598d0;
  --cyan-pale: #eaf8fd;
  --ink: #14243c;
  --muted: #5b6b81;
  --line: #dce7f0;
  --off-white: #f6f9fc;
  --white: #ffffff;
  --shadow: 0 24px 60px rgba(20, 45, 85, 0.12);
  --radius: 14px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 78px; }
body { margin: 0; overflow-x: hidden; background: var(--white); color: var(--ink); font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; border-radius: 4px; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; transform: translateY(-160%); background: var(--navy); color: white; padding: 12px 16px; }
.skip-link:focus { transform: translateY(0); }
.site-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.section { padding-block: 130px; }
.eyebrow { margin: 0 0 20px; display: flex; align-items: center; gap: 11px; color: var(--cyan-deep); font-size: 12px; line-height: 1.4; font-weight: 740; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow > span { width: 22px; height: 2px; background: var(--cyan); }
.section-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 80px; align-items: end; margin-bottom: 60px; }
.section-heading h2, .about-copy h2, .contact-copy h2 { margin: 0; color: var(--navy-deep); font-size: clamp(42px, 4.6vw, 63px); line-height: 1.04; letter-spacing: -.045em; font-weight: 670; }
.section-heading > p { max-width: 460px; margin: 0 0 5px; color: var(--muted); font-size: 16px; line-height: 1.75; }

/* Header */
.site-header { position: fixed; z-index: 50; inset: 0 0 auto; height: 78px; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(220,231,240,.85); backdrop-filter: blur(16px); }
.nav-shell { width: min(1240px, calc(100% - 40px)); height: 100%; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; }
.brand-logo { display: block; flex: 0 0 auto; width: 42px; height: 38px; background: center / contain no-repeat url("data:image/png;base64,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"); }
.brand > span { display: flex; flex-direction: column; line-height: .92; text-transform: uppercase; }
.brand strong { color: var(--navy); font-size: 17px; letter-spacing: -.03em; }
.brand small { margin-top: 6px; color: var(--cyan); font-size: 13px; font-weight: 720; letter-spacing: .03em; }
.primary-nav { display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 560; color: #354963; }
.primary-nav > a { min-height: 44px; display: inline-flex; align-items: center; transition: color .2s ease; }
.primary-nav > a:hover { color: var(--cyan-deep); }
.primary-nav .nav-cta { min-height: 44px; padding: 0 20px; border-radius: 8px; background: var(--navy); color: white; box-shadow: 0 8px 20px rgba(20,45,85,.16); }
.primary-nav .nav-cta:hover { color: white; background: var(--navy-soft); }
.menu-toggle { display: none; width: 46px; height: 46px; border: 0; border-radius: 8px; background: var(--off-white); padding: 12px; cursor: pointer; }
.menu-toggle span { display: block; width: 100%; height: 2px; margin: 4px 0; background: var(--navy); transition: transform .2s, opacity .2s; }
.menu-toggle.is-active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle.is-active span:nth-child(2) { opacity: 0; }
.menu-toggle.is-active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Hero */
.hero { position: relative; overflow: hidden; padding-top: 78px; padding-bottom: 60px; background: var(--off-white); }
.hero-overlay { position: absolute; inset: 0; z-index: 2; display: flex; align-items: flex-end; padding-bottom: 54px; }
.hero-headline { max-width: 780px; }
.hero-headline .eyebrow { color: var(--cyan); }
.hero-headline .eyebrow > span { background: var(--cyan); }
.hero-body { padding-block: 42px 0; }
.hero-copy { max-width: 820px; }
h1 { max-width: 780px; margin: 0; color: white; font-size: 68px; line-height: .99; letter-spacing: -.055em; font-weight: 680; overflow-wrap: break-word; }
h1 em { display: block; color: var(--cyan-deep); font-style: normal; }
.hero-intro { max-width: 760px; margin: 0; font-size: 19px; line-height: 1.67; color: #44566e; }
.hero-note { margin: 12px 0 0; color: var(--navy); font-size: 15px; font-weight: 620; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 22px; border-radius: 8px; font-size: 14px; font-weight: 680; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--navy); color: white; box-shadow: 0 12px 25px rgba(20,45,85,.18); }
.button-primary:hover { background: var(--navy-soft); box-shadow: 0 16px 30px rgba(20,45,85,.22); }
.button-secondary { border: 1px solid var(--line); background: rgba(255,255,255,.72); color: var(--navy); }
.button-secondary:hover { border-color: #aacbdf; background: white; }
.tech-line { margin-top: 30px; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: #617187; font-size: 12px; font-weight: 640; letter-spacing: .02em; }
.tech-line i { width: 3px; height: 3px; border-radius: 50%; background: var(--cyan); }
.hero-visual { position: relative; width: 100%; height: 490px; }
.visual-grid { position: absolute; inset: 0; opacity: .42; background-image: linear-gradient(rgba(20,45,85,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(20,45,85,.07) 1px, transparent 1px); background-size: 38px 38px; mask-image: radial-gradient(circle at 50% 50%, black 20%, transparent 74%); }
.flow-card { position: absolute; z-index: 2; display: flex; align-items: center; gap: 14px; min-width: 265px; padding: 18px 20px; border: 1px solid rgba(211,227,238,.95); border-radius: 13px; background: rgba(255,255,255,.94); box-shadow: var(--shadow); }
.flow-card-source { top: 38px; left: 2px; }
.flow-card-model { top: 192px; right: 0; }
.flow-card-insight { left: 28px; bottom: 44px; }
.flow-icon { display: grid; place-items: center; flex: 0 0 43px; height: 43px; border-radius: 10px; background: var(--cyan-pale); color: var(--cyan-deep); font-size: 12px; font-weight: 780; }
.flow-card small { display: block; margin-bottom: 4px; color: #8290a3; font-size: 9px; font-weight: 760; letter-spacing: .15em; }
.flow-card strong { display: block; color: var(--navy); font-size: 14px; }
.flow-line { position: absolute; z-index: 1; height: 58px; border-right: 2px solid rgba(65,182,230,.45); border-bottom: 2px solid rgba(65,182,230,.45); border-radius: 0 0 14px 0; }
.flow-line-one { width: 134px; top: 112px; left: 115px; }
.flow-line-two { width: 165px; top: 270px; right: 116px; transform: rotate(180deg); }
.flow-line b { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 5px rgba(65,182,230,.12); }
.flow-line b:nth-child(1) { right: -4px; top: -3px; }
.flow-line b:nth-child(2) { right: 48%; bottom: -4px; }
.flow-line b:nth-child(3) { left: -3px; bottom: -4px; }
.status-chip { position: absolute; z-index: 3; right: 12px; bottom: 1px; display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; background: var(--navy); color: white; font-size: 11px; font-weight: 660; box-shadow: 0 12px 25px rgba(20,45,85,.22); }
.status-chip span { width: 7px; height: 7px; border-radius: 50%; background: #53d6af; box-shadow: 0 0 0 4px rgba(83,214,175,.14); }
.proof-wrap { position: relative; margin-top: 42px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 20px 50px rgba(20,45,85,.09); }
.proof-wrap div { position: relative; padding: 25px 28px; }
.proof-wrap div + div::before { content: ""; position: absolute; left: 0; inset-block: 24px; width: 1px; background: var(--line); }
.proof-wrap strong, .proof-wrap span { display: block; }
.proof-wrap strong { color: var(--navy); font-size: 18px; letter-spacing: -.02em; }
.proof-wrap span { margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.4; }

/* Services */
.services-section { padding-top: 35px; background: var(--off-white); }
.services-section .section-heading { display: block; max-width: 920px; }
.services-section .section-heading { margin-bottom: 24px; }
.services-section .section-heading h2 { font-size: clamp(42px, 4vw, 54px); }
.services-section .section-heading > p { max-width: 780px; margin: 14px 0 0; line-height: 1.6; }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: white; box-shadow: 0 16px 46px rgba(20,45,85,.06); }
.service-card { position: relative; display: flex; flex-direction: column; padding: 26px 28px 24px; }
.service-card + .service-card { border-left: 1px solid var(--line); }
.service-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--cyan); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.service-card:hover::before { transform: scaleX(1); }
.service-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.service-number { color: #92a0b1; font-size: 11px; font-weight: 760; letter-spacing: .14em; }
.service-mark { position: relative; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 8px; background: var(--cyan-pale); color: var(--cyan-deep); }
.service-mark svg { width: 24px; height: 24px; }
.chart-mark { display: flex; align-items: end; gap: 4px; padding: 12px; }
.chart-mark i { flex: 1; background: var(--cyan); border-radius: 2px 2px 0 0; }.chart-mark i:nth-child(1) { height: 10px; }.chart-mark i:nth-child(2) { height: 20px; }.chart-mark i:nth-child(3) { height: 15px; }
.service-card h3 { min-height: 53px; margin: 0 0 14px; color: var(--navy-deep); font-size: 23px; line-height: 1.15; letter-spacing: -.03em; }
.service-card h3 span { display: block; color: var(--cyan-deep); }
.service-card > p { min-height: 72px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.62; }
.service-card ul { margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line); list-style: none; }
.service-card li { position: relative; padding: 4px 0 4px 17px; color: #3f526b; font-size: 13px; line-height: 1.4; }
.service-card li::before { content: ""; position: absolute; left: 0; top: 11px; width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); }
.service-tools { margin-top: auto; padding-top: 18px; color: #748399; font-size: 9px; font-weight: 700; line-height: 1.45; letter-spacing: .03em; text-transform: uppercase; }
.service-action {
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(20, 45, 85, 0.12);
  border-radius: 8px;
  background: var(--navy);
  color: white;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.service-action:hover {
  transform: translateY(-2px);
  background: var(--navy-soft);
  box-shadow: 0 12px 24px rgba(20, 45, 85, 0.12);
}
.availability-strip { display: flex; align-items: center; gap: 18px; margin-top: 20px; padding: 20px 25px; border: 1px solid #cfe6f2; border-radius: 10px; background: var(--cyan-pale); }
.availability-icon { flex: 0 0 36px; display: grid; place-items: center; height: 36px; border-radius: 50%; background: white; color: var(--cyan-deep); font-size: 20px; }
.availability-strip p { margin: 0; color: #425870; font-size: 14px; line-height: 1.6; }.availability-strip strong { color: var(--navy); }
.transfer-block { margin-top: 86px; display: grid; grid-template-columns: minmax(0, 1fr) 336px; gap: 80px; align-items: center; overflow: hidden; padding: 62px; border-radius: 8px; background: var(--navy); color: white; box-shadow: 0 22px 55px rgba(20,45,85,.14); }
.transfer-content { padding: 0; }
.transfer-title h3 { margin: 0; font-size: 42px; line-height: 1.25; letter-spacing: 0; }
.transfer-content > p { max-width: 530px; margin: 28px 0 0; color: #eef3f8; font-size: 18px; line-height: 1.58; }
.transfer-points { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 42px; }.transfer-points span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; color: #dfe9f3; font-size: 11px; }
.transfer-media { margin: 0; align-self: stretch; min-height: 400px; overflow: hidden; border-radius: 8px; background: #0f2a4d; }
.transfer-media img { width: 100%; height: 100%; min-height: 400px; object-fit: cover; object-position: 18% center; display: block; }

/* Technology */
.technology-section { position: relative; overflow: hidden; background: var(--navy-deep); color: white; }
.technology-section::before { content: ""; position: absolute; inset: 0; opacity: .19; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(90deg, transparent, black 50%, transparent); }
.technology-section .site-shell { position: relative; }
.light-heading h2 { color: white; }.light-heading > p { color: #aab9ca; }
.experience-rail { display: grid; grid-template-columns: repeat(6, 1fr); border-block: 1px solid rgba(255,255,255,.12); }
.experience-rail div { position: relative; padding: 26px 18px; }.experience-rail div + div::before { content: ""; position: absolute; left: 0; inset-block: 24px; width: 1px; background: rgba(255,255,255,.12); }
.experience-rail strong, .experience-rail span { display: block; }.experience-rail strong { color: var(--cyan); font-size: 20px; }.experience-rail span { margin-top: 5px; color: #b8c4d2; font-size: 11px; }
.technology-grid { margin-top: 56px; display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); overflow: hidden; }
.technology-group { min-height: 255px; padding: 31px; background: rgba(255,255,255,.025); }.technology-group:nth-child(even) { border-left: 1px solid rgba(255,255,255,.12); }.technology-group:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }
.technology-group.primary-group { background: rgba(65,182,230,.07); }
.tech-group-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }.tech-group-heading > span { color: var(--cyan); font-size: 10px; font-weight: 800; letter-spacing: .1em; }.tech-group-heading h3 { margin: 0; color: white; font-size: 17px; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; }.tag-list span { padding: 9px 12px; border: 1px solid rgba(255,255,255,.13); border-radius: 6px; background: rgba(255,255,255,.04); color: #d4deea; font-size: 12px; }.primary-group .tag-list span:first-child, .primary-group .tag-list span:nth-child(7) { border-color: rgba(65,182,230,.5); background: rgba(65,182,230,.11); color: white; }

/* About */
.about-section { background: white; }
.about-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 96px; align-items: center; }
.portrait-column { max-width: 390px; }
.portrait-placeholder { position: relative; overflow: hidden; aspect-ratio: .79; display: grid; place-items: center; border-radius: 180px 180px 14px 14px; background: linear-gradient(150deg, var(--cyan-pale), #dbeaf5); box-shadow: 0 25px 60px rgba(20,45,85,.13); }
.portrait-grid { position: absolute; inset: 0; opacity: .48; background-image: linear-gradient(rgba(20,45,85,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(20,45,85,.09) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(to bottom, transparent, black 25%); }
.portrait-placeholder::before, .portrait-placeholder::after { content: ""; position: absolute; border: 1px solid rgba(65,182,230,.5); border-radius: 50%; }.portrait-placeholder::before { width: 250px; height: 250px; }.portrait-placeholder::after { width: 330px; height: 330px; }
.portrait-placeholder > span { position: relative; z-index: 2; display: grid; place-items: center; width: 130px; height: 130px; border-radius: 50%; background: var(--navy); color: white; font-size: 45px; font-weight: 700; letter-spacing: -.06em; box-shadow: 0 18px 35px rgba(20,45,85,.18); }
.portrait-placeholder > small { position: absolute; z-index: 2; bottom: 36px; color: #5d7691; font-size: 10px; font-weight: 720; letter-spacing: .16em; text-transform: uppercase; }
.portrait-caption { margin: -7px 18px 0; position: relative; z-index: 3; padding: 18px 22px; border-radius: 8px; background: white; box-shadow: 0 15px 35px rgba(20,45,85,.12); }.portrait-caption span, .portrait-caption small { display: block; }.portrait-caption span { color: var(--navy); font-weight: 720; }.portrait-caption small { margin-top: 4px; color: var(--muted); }
.linkedin-link { display: inline-flex; align-items: center; justify-content: center; width: 100%; margin-top: 14px; min-height: 42px; border-radius: 8px; background: var(--navy); color: white; font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.linkedin-link:hover { background: var(--navy-soft); }
.about-copy h2 em { color: var(--cyan-deep); font-style: normal; }
.about-lead { margin: 28px 0 12px; color: var(--navy); font-size: 19px !important; font-weight: 620; }
.about-copy > p { max-width: 690px; margin: 0 0 13px; color: var(--muted); font-size: 16px; line-height: 1.72; }
.about-copy blockquote { margin: 30px 0; padding: 19px 22px; border-left: 3px solid var(--cyan); background: var(--off-white); color: var(--navy); font-size: 17px; font-weight: 610; line-height: 1.55; }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }.principles > div { padding: 26px 20px 24px 0; }.principles > div + div { padding-left: 20px; border-left: 1px solid var(--line); }.principles span { color: var(--cyan-deep); font-size: 10px; font-weight: 760; letter-spacing: .1em; }.principles h3 { margin: 8px 0 6px; color: var(--navy); font-size: 15px; }.principles p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.ai-note { display: flex; gap: 15px; align-items: flex-start; margin-top: 26px; }.ai-note > span { color: var(--cyan-deep); font-size: 18px; }.ai-note p { margin: 0; color: #617187; font-size: 12px; line-height: 1.6; }

/* Experience */
.experience-section { background: var(--off-white); }
.case-study { display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 20px 55px rgba(20,45,85,.08); }
.case-intro { padding: 48px 50px; }.case-label { color: var(--cyan-deep); font-size: 10px; font-weight: 780; letter-spacing: .14em; }.case-intro h3 { max-width: 520px; margin: 20px 0; color: var(--navy-deep); font-size: 37px; line-height: 1.12; letter-spacing: -.035em; }.case-intro > p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.case-stats { margin-top: 34px; display: grid; grid-template-columns: repeat(3, 1fr); padding-top: 27px; border-top: 1px solid var(--line); }.case-stats div + div { padding-left: 22px; border-left: 1px solid var(--line); }.case-stats strong, .case-stats span { display: block; }.case-stats strong { color: var(--cyan-deep); font-size: 26px; }.case-stats span { margin-top: 4px; color: #738297; font-size: 11px; }
.case-contribution { padding: 48px 44px; background: var(--navy); color: white; }.case-contribution h4 { margin: 0 0 25px; font-size: 18px; }.contribution-list { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 17px; }.contribution-list span { display: flex; gap: 8px; color: #d6e1ec; font-size: 12px; line-height: 1.45; }.contribution-list i { color: var(--cyan); font-style: normal; font-weight: 800; }.case-contribution > p { margin: 30px 0 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); color: #b7c7d7; font-size: 13px; line-height: 1.7; }
.automation-row { margin-top: 75px; display: grid; grid-template-columns: 1fr 1fr; gap: 95px; align-items: center; }.automation-copy h3 { margin: 0 0 14px; color: var(--navy-deep); font-size: 32px; line-height: 1.15; letter-spacing: -.03em; }.automation-copy > p:last-child { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.automation-list { border-top: 1px solid var(--line); }.automation-list span { display: flex; justify-content: space-between; padding: 14px 3px; border-bottom: 1px solid var(--line); color: var(--navy); font-size: 13px; font-weight: 600; }.automation-list i { color: var(--cyan-deep); font-style: normal; }
.references-note { margin-top: 72px; display: flex; align-items: center; gap: 22px; padding: 22px 26px; border: 1px solid var(--line); border-radius: 10px; background: white; }.references-note > span { color: var(--cyan-deep); font-size: 10px; font-weight: 760; letter-spacing: .13em; text-transform: uppercase; }.references-note p { margin: 0; color: var(--navy); font-size: 14px; font-weight: 620; }.references-note a { margin-left: auto; color: var(--navy); font-size: 12px; font-weight: 650; }.references-note i { margin-left: 8px; color: var(--cyan-deep); font-style: normal; }

/* Contact and footer */
.contact-section { position: relative; overflow: hidden; padding-block: 120px; background: var(--navy-deep); color: white; }.contact-section::after { content: ""; position: absolute; width: 540px; height: 540px; right: -210px; bottom: -310px; border: 1px solid rgba(65,182,230,.25); border-radius: 50%; box-shadow: 0 0 0 90px rgba(65,182,230,.04), 0 0 0 180px rgba(255,255,255,.018); }
.contact-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr; gap: 32px; align-items: center; }.contact-copy { max-width: 920px; }.contact-copy h2 { color: white; }.contact-copy h2 em { display: inline; color: var(--cyan); font-style: normal; }.contact-copy > p:not(.eyebrow) { max-width: 720px; margin: 26px 0 32px; color: #b9c8d8; font-size: 16px; line-height: 1.75; }.contact-copy > p strong { color: white; }.contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }.contact-button { padding-inline: 18px; background: var(--cyan); color: var(--navy-deep); }.contact-button svg { flex: 0 0 auto; width: 18px; height: 18px; }.contact-button:hover { background: #6bc9ec; box-shadow: 0 15px 30px rgba(65,182,230,.18); }
.contact-card { padding: 31px; border: 1px solid rgba(255,255,255,.13); border-radius: var(--radius); background: rgba(255,255,255,.055); box-shadow: 0 25px 55px rgba(0,0,0,.14); backdrop-filter: blur(10px); }.contact-person { display: flex; gap: 15px; align-items: center; padding-bottom: 23px; border-bottom: 1px solid rgba(255,255,255,.12); }.contact-person > span { display: grid; place-items: center; flex: 0 0 46px; height: 46px; border-radius: 50%; background: var(--cyan); color: var(--navy); font-weight: 780; }.contact-person strong, .contact-person small { display: block; }.contact-person strong { font-size: 15px; }.contact-person small { max-width: 220px; margin-top: 4px; color: #aebed0; font-size: 10px; line-height: 1.4; }
.contact-card dl { margin: 10px 0 0; }.contact-card dl div { padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.1); }.contact-card dt { margin-bottom: 5px; color: #8093a8; font-size: 9px; font-weight: 720; letter-spacing: .12em; text-transform: uppercase; }.contact-card dt small { letter-spacing: 0; text-transform: none; }.contact-card dd { margin: 0; overflow-wrap: anywhere; color: #e2ebf3; font-size: 12px; }.contact-card dd a:hover { color: var(--cyan); }.contact-card > p { display: flex; align-items: center; gap: 8px; margin: 20px 0 0; color: #b9c8d8; font-size: 11px; }.contact-card > p span { width: 7px; height: 7px; border-radius: 50%; background: #53d6af; box-shadow: 0 0 0 4px rgba(83,214,175,.13); }
footer { padding-block: 14px; background: #07172d; color: #8fa0b4; }.footer-inner { position: relative; display: flex; align-items: center; justify-content: center; gap: 20px; }.footer-inner p { margin: 0; text-align: center; font-size: 10px; }.back-top { position: absolute; right: 0; min-height: 40px; display: inline-flex; align-items: center; gap: 8px; color: #b8c6d5; font-size: 11px; }.back-top span { color: var(--cyan); }

@media (max-width: 1000px) {
  .primary-nav { position: fixed; inset: 78px 0 auto; display: none; padding: 18px 20px 28px; flex-direction: column; align-items: stretch; gap: 2px; background: white; border-bottom: 1px solid var(--line); box-shadow: 0 18px 30px rgba(20,45,85,.1); }
  .primary-nav.is-open { display: flex; }.primary-nav > a { padding: 0 10px; }.primary-nav .nav-cta { margin-top: 8px; justify-content: center; }.menu-toggle { display: block; }
  h1 { font-size: 58px; }
  .proof-wrap { grid-template-columns: repeat(2, 1fr); }.proof-wrap div:nth-child(3)::before { display: none; }.proof-wrap div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .section-heading { grid-template-columns: 1fr; gap: 22px; }.services-grid { grid-template-columns: 1fr; }.service-card + .service-card { border-left: 0; border-top: 1px solid var(--line); }.service-card > p, .service-card ul { min-height: 0; }
  .transfer-block { margin-top: 86px; grid-template-columns: 1fr; gap: 38px; padding: 46px; }.transfer-points { grid-column: auto; }.transfer-media { order: -1; min-height: 340px; }.transfer-media img { min-height: 340px; }
  .experience-rail { grid-template-columns: repeat(3, 1fr); }.experience-rail div:nth-child(4)::before { display: none; }.experience-rail div:nth-child(n+4) { border-top: 1px solid rgba(255,255,255,.12); }
  .about-grid { grid-template-columns: .7fr 1.3fr; gap: 50px; }.principles { grid-template-columns: 1fr; }.principles > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .case-study, .contact-grid { grid-template-columns: 1fr; }.contact-grid { gap: 60px; }.contact-card { max-width: 550px; }
}

@media (max-width: 720px) {
  .section { padding-block: 92px; }.section-heading { margin-bottom: 40px; }.section-heading h2, .about-copy h2, .contact-copy h2 { font-size: 42px; }
  h1 { font-size: 50px; }
  .technology-grid { grid-template-columns: 1fr; }.technology-group:nth-child(even) { border-left: 0; }.technology-group:nth-child(n+2) { border-top: 1px solid rgba(255,255,255,.12); }.testimonials-grid { grid-template-columns: 1fr; }
  .about-grid { grid-template-columns: 1fr; }.portrait-column { margin-inline: auto; width: min(100%, 390px); }.principles { grid-template-columns: repeat(3, 1fr); }.principles > div + div { padding-left: 16px; border-left: 1px solid var(--line); border-top: 0; }
  .case-intro, .case-contribution { padding: 36px 30px; }.automation-row { grid-template-columns: 1fr; gap: 35px; }
  .contact-section { padding-block: 92px; }.footer-inner { flex-direction: column; gap: 4px; }.back-top { position: static; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 70px; }.site-shell, .nav-shell { width: calc(100% - 28px); max-width: 360px; }.site-header { height: 70px; }.brand-logo { width: 36px; height: 33px; }.brand strong { font-size: 15px; }.brand small { font-size: 11px; }.primary-nav { top: 70px; }
  .hero { padding-top: 70px; padding-bottom: 32px; }.hero-banner { height: 320px; }.hero-overlay { padding-bottom: 28px; }.hero-body { padding-top: 30px; }h1 { font-size: 38px; line-height: 1.04; }.hero-headline .eyebrow { flex-wrap: wrap; }.hero-intro { font-size: 16px; line-height: 1.65; }.hero-actions { flex-direction: column; }.button { width: 100%; }.tech-line { gap: 8px; }
  .hero-visual { height: 370px; margin-top: 10px; }.flow-card { min-width: 235px; padding: 15px; }.flow-card-source { left: 0; }.flow-card-model { right: 0; top: 157px; }.flow-card-insight { left: 0; bottom: 22px; }.flow-line-one { width: 70px; top: 100px; left: 140px; }.flow-line-two { width: 80px; top: 232px; right: 140px; }.status-chip { display: none; }
  .proof-wrap { grid-template-columns: 1fr; }.proof-wrap div { padding: 18px 22px; }.proof-wrap div + div::before { display: none; }.proof-wrap div:nth-child(n+2) { border-top: 1px solid var(--line); }.services-section { padding-top: 80px; }
  .service-card { padding: 28px 24px; }.availability-strip { align-items: flex-start; padding: 18px; }.transfer-block { margin-top: 55px; gap: 30px; padding: 26px; }.transfer-title h3 { font-size: 29px; }.transfer-content > p { margin-top: 22px; font-size: 16px; line-height: 1.62; }.transfer-points { margin-top: 28px; }.transfer-media, .transfer-media img { min-height: 280px; }
  .experience-rail { grid-template-columns: repeat(2, 1fr); }.experience-rail div:nth-child(4)::before { display: block; }.experience-rail div:nth-child(odd)::before { display: none; }.experience-rail div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }.experience-rail div { padding: 20px 14px; }
  .technology-group { min-height: 0; padding: 26px 22px; }.about-grid { gap: 55px; }.principles { grid-template-columns: 1fr; }.principles > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .section-heading h2, .about-copy h2, .contact-copy h2 { font-size: 36px; line-height: 1.08; overflow-wrap: break-word; }
  .case-intro h3 { font-size: 31px; }.case-stats { gap: 10px; }.case-stats div + div { padding-left: 10px; }.case-stats strong { font-size: 21px; }.contribution-list { grid-template-columns: 1fr; }
  .references-note { align-items: flex-start; flex-wrap: wrap; }.references-note a { width: 100%; margin: 0; }.contact-copy h2 em { display: inline; }.contact-card { padding: 24px; }
  .tech-panel { padding: 34px 26px; }
}

/* Hero banner — full-width strip directly below the fixed nav */
.hero-banner { position: relative; width: 100%; height: 480px; overflow: hidden; background: #07172d; }
.hero-banner::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(20,45,85,.82) 0%, rgba(20,45,85,.56) 43%, rgba(20,45,85,.08) 100%); pointer-events: none; }
.hero-banner img { width: 108%; height: 100%; object-fit: cover; object-position: center 18%; transform: translateX(5%); display: block; }

/* Portrait photo */
.portrait-photo { width: 100%; aspect-ratio: .79; object-fit: cover; border-radius: 180px 180px 14px 14px; display: block; box-shadow: 0 25px 60px rgba(20,45,85,.13); }

.tech-compact { margin-top: 48px; padding: 26px 32px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.tech-compact h4 { margin: 0 0 7px; color: var(--navy); font-size: 13px; font-weight: 720; letter-spacing: .01em; }
.tech-compact p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }

/* Testimonials */
.testimonials-section { background: var(--off-white); }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px; }
.testimonial-card { margin: 0; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 8px 24px rgba(20,45,85,.06); display: flex; flex-direction: column; }
.testimonial-card > p { flex: 1; margin: 0 0 20px; color: var(--ink); font-size: 15px; line-height: 1.72; font-style: italic; }
.testimonial-card cite { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 72px; font-style: normal; padding-top: 18px; border-top: 1px solid var(--line); }
.testimonial-author { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.testimonial-author strong { color: var(--navy); font-size: 14px; }
.testimonial-author small { color: var(--muted); font-size: 12px; }
.testimonial-logo { flex: 0 0 auto; height: 58px; object-fit: cover; object-position: center; }
.testimonial-logo-aag { width: 58px; border-radius: 50%; }
.testimonial-logo-klg { width: 82px; }
.testimonial-logo-gors { width: 96px; }

/* Header icon from the shared image folder. */
.brand-logo { background-image: url("Afbeeldingen/favicon%20Total%20Data%20Solutions.png"); }

/* Scroll-triggered animations — only active when JS is loaded */
.js-loaded [data-animate] { opacity: 0; transform: translateY(22px); transition: opacity .55s ease, transform .55s ease; }
.js-loaded [data-animate].is-visible { opacity: 1; transform: none; }
.js-loaded [data-animate][data-delay="1"] { transition-delay: .08s; }
.js-loaded [data-animate][data-delay="2"] { transition-delay: .16s; }
.js-loaded [data-animate][data-delay="3"] { transition-delay: .24s; }
.js-loaded [data-animate][data-delay="4"] { transition-delay: .32s; }

/* Scrolled header and active nav link */
.site-header.is-scrolled { box-shadow: 0 4px 24px rgba(20,45,85,.1); }
.primary-nav a.is-active:not(.nav-cta) { color: var(--cyan-deep); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .js-loaded [data-animate] { opacity: 1 !important; transform: none !important; transition: none !important; }
}
