:root {
  --v3-glow: rgba(91, 143, 168, .48);
  --v3-dark: rgba(16, 25, 30, .86);
}

body { overflow-x: clip; }

.v3-orbit {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}

.v3-orbit span {
  position: absolute;
  display: block;
  border: 1px solid rgba(91, 143, 168, .22);
  border-radius: 50%;
  animation: v3-drift 17s ease-in-out infinite alternate;
}

.v3-orbit span:nth-child(1) { width: 36rem; height: 36rem; left: -17rem; top: 24vh; }
.v3-orbit span:nth-child(2) { width: 12rem; height: 12rem; right: 6vw; top: 30vh; animation-delay: -5s; }
.v3-orbit span:nth-child(3) { width: 22rem; height: 22rem; right: -12rem; bottom: 9vh; animation-delay: -9s; }

.hero.page-top { isolation: isolate; }
.hero.page-top::before { border-color: rgba(91,143,168,.42); animation: v3-orbit 18s linear infinite; }
.hero.page-top::after { opacity: .28; }
.hero-visual { box-shadow: 18px 18px 0 rgba(91,143,168,.28); }
.hero-visual::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 70% 15%, rgba(111,177,210,.32), transparent 28%), linear-gradient(145deg, rgba(91,143,168,.12), transparent 65%); animation: v3-breathe 7s ease-in-out infinite; }
.duo-person { transform: translateZ(0); }

.v3-moment {
  position: relative;
  min-height: min(620px, 78vw);
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: clamp(34px, 6vw, 86px);
  background: var(--graphite) url('/industrial-workflow.png') center / cover no-repeat;
  color: var(--ivory);
}

.v3-moment::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,27,30,.96) 0%, rgba(20,27,30,.75) 36%, rgba(20,27,30,.10) 76%), linear-gradient(0deg, rgba(20,27,30,.6), transparent 45%); }
.v3-moment-copy { position: relative; z-index: 1; max-width: 39rem; }
.v3-moment .eyebrow { color: var(--soft-blue); }
.v3-moment h2 { max-width: 13ch; margin: 0; color: white; font-size: clamp(38px, 5.2vw, 76px); line-height: .98; letter-spacing: -.055em; }
.v3-moment p:last-child { margin: 24px 0 0; max-width: 32rem; color: #e2edf2; font-size: 16px; line-height: 1.55; }
.v3-moment-signal { position: absolute; z-index: 1; top: 28px; right: 30px; display: flex; align-items: center; gap: 10px; color: white; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.home-paths { position: relative; z-index: 0; }
.home-paths>a { isolation: isolate; overflow: hidden; transition: transform .48s cubic-bezier(.2,.8,.2,1), color .48s, box-shadow .48s; }
.home-paths>a::before { content: ""; position: absolute; z-index: -2; inset: 0; opacity: 0; background: linear-gradient(0deg, rgba(15,24,28,.94), rgba(15,24,28,.16)), url('/service-workflow.png') center / cover; transition: opacity .55s ease; }
.home-paths>a::after { content: ""; position: absolute; z-index: -1; width: 240px; height: 240px; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; right: -135px; top: -135px; transform: scale(.75); transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.home-paths>a:hover::before, .home-paths>a:focus-visible::before { opacity: 1; }
.home-paths>a:hover::after, .home-paths>a:focus-visible::after { transform: scale(1.4); }
.home-paths>a:hover { box-shadow: 16px 16px 0 rgba(91,143,168,.25); }

.service-page .service-list article { overflow: hidden; isolation: isolate; }
.service-page .service-list article::after { content: ""; position: absolute; inset: 0 -28px; z-index: -2; opacity: 0; background: linear-gradient(90deg, rgba(247,245,240,.96), rgba(247,245,240,.48)), url('/service-workflow.png') right center / cover; transition: opacity .5s ease; }
.service-page .service-list article:hover::after { opacity: 1; }

.case-teaser::before { content: ""; position: absolute; inset: 0; opacity: .26; background-image: radial-gradient(circle at 76% 34%, var(--blue) 0 2px, transparent 3px), radial-gradient(circle at 84% 54%, var(--blue) 0 1px, transparent 2px); background-size: 48px 48px, 72px 72px; animation: v3-field 18s linear infinite; }
.mini-cta { background-image: radial-gradient(circle at 82% 17%, rgba(123,188,218,.4) 0 1px, transparent 2px); background-size: 28px 28px; }

.industry-grid.immersive-grid { gap: 16px; }
.industry-grid.immersive-grid .immersive-card {
  position: relative;
  isolation: isolate;
  min-height: 270px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  overflow: hidden;
  padding: clamp(22px, 2.4vw, 34px);
  border: 1px solid rgba(37,40,42,.16);
  background: var(--graphite);
  color: white;
}
.industry-grid.immersive-grid .immersive-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--card-image) center / cover;
  opacity: .66;
  filter: saturate(.76) contrast(1.06);
  transform: scale(1.01);
  transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .6s;
}
.industry-grid.immersive-grid .immersive-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(0deg, rgba(15,22,26,.98) 0%, rgba(15,22,26,.53) 48%, rgba(15,22,26,.08) 100%);
  transition: background .55s ease;
}
.industry-grid.immersive-grid .immersive-card h3,
.industry-grid.immersive-grid .immersive-card p { position: relative; z-index: 1; }
.industry-grid.immersive-grid .immersive-card h3 { color: white; margin: 0 0 8px; font-size: clamp(24px,2vw,34px); line-height: 1.03; }
.industry-grid.immersive-grid .immersive-card p { margin: 0; color: #e4edf1; font-size: 15px; line-height: 1.5; max-width: 26ch; }
.industry-grid.immersive-grid .immersive-card:hover { transform: translateY(-8px); }
.industry-grid.immersive-grid .immersive-card:hover::before { transform: scale(1.09); filter: saturate(1) contrast(1.1); }
.industry-grid.immersive-grid .immersive-card:hover::after { background: linear-gradient(0deg, rgba(15,22,26,.92) 0%, rgba(15,22,26,.27) 74%, rgba(15,22,26,.04) 100%); }
.industry-grid.immersive-grid .immersive-card:nth-child(1) { --card-image: url('/industry-machinery.png'); }
.industry-grid.immersive-grid .immersive-card:nth-child(2) { --card-image: url('/industry-automation.png'); }
.industry-grid.immersive-grid .immersive-card:nth-child(3) { --card-image: url('/industry-components.png'); }
.industry-grid.immersive-grid .immersive-card:nth-child(4) { --card-image: url('/industry-field-service.png'); }
.industry-grid.immersive-grid .immersive-card:nth-child(5) { --card-image: url('/industry-dealer-network.png'); }
.industry-grid.immersive-grid .immersive-card:nth-child(6) { --card-image: url('/industry-international-b2b.png'); }

.v3-salesforce-mark {
  position: absolute;
  z-index: 2;
  top: 42px;
  right: clamp(20px, 5vw, 70px);
  width: 112px;
  height: auto;
  filter: drop-shadow(0 13px 20px rgba(10,54,78,.18));
  clip-path: ellipse(46% 43% at 50% 50%);
  animation: v3-cloud-float 5s ease-in-out infinite;
}

body[data-page="home"] .v3-salesforce-mark { top: auto; right: clamp(28px, 8vw, 140px); bottom: clamp(30px, 7vw, 100px); }
body[data-page="services"] .v3-salesforce-mark { top: auto; right: clamp(28px, 11vw, 180px); bottom: 34px; }
body[data-page="industries"] .v3-salesforce-mark { top: auto; right: auto; left: clamp(20px, 5vw, 70px); bottom: 34px; }
body[data-page="how-we-work"] .v3-salesforce-mark { top: 44%; right: clamp(24px, 6vw, 90px); }
body[data-page="about"] .v3-salesforce-mark { top: auto; right: clamp(18px, 4vw, 60px); bottom: 36px; }
body[data-page="contact"] .v3-salesforce-mark { top: 30px; right: auto; left: clamp(20px, 5vw, 70px); }
body[data-page="privacy"] .v3-salesforce-mark,
body[data-page="imprint"] .v3-salesforce-mark { top: auto; right: clamp(18px, 4vw, 60px); bottom: 28px; width: 84px; opacity: .76; }

@keyframes v3-cloud-float { 0%,100% { transform: translateY(0) rotate(-5deg); } 50% { transform: translateY(-10px) rotate(2deg); } }

@keyframes v3-drift { from { transform: translate3d(0,0,0) rotate(0deg); } to { transform: translate3d(34px,-25px,0) rotate(18deg); } }
@keyframes v3-orbit { to { transform: rotate(360deg); } }
@keyframes v3-breathe { 0%,100% { opacity: .38; transform: scale(1); } 50% { opacity: .9; transform: scale(1.08); } }
@keyframes v3-field { to { background-position: 48px 48px, -72px 72px; } }

@media (max-width: 700px) {
  .v3-moment { min-height: 540px; padding: 30px 22px; background-position: 66% center; }
  .v3-moment::before { background: linear-gradient(0deg, rgba(20,27,30,.93) 5%, rgba(20,27,30,.32) 100%); }
  .v3-moment h2 { max-width: 12ch; font-size: clamp(36px, 12vw, 54px); }
  .v3-moment-signal { right: 18px; top: 18px; }
  .v3-orbit span:nth-child(1) { width: 22rem; height: 22rem; }
  .v3-salesforce-mark { width: 82px; }
  body[data-page="home"] .v3-salesforce-mark,
  body[data-page="services"] .v3-salesforce-mark,
  body[data-page="industries"] .v3-salesforce-mark,
  body[data-page="about"] .v3-salesforce-mark,
  body[data-page="privacy"] .v3-salesforce-mark,
  body[data-page="imprint"] .v3-salesforce-mark { bottom: 20px; }
  body[data-page="how-we-work"] .v3-salesforce-mark { top: auto; right: 18px; bottom: 18px; }
  body[data-page="contact"] .v3-salesforce-mark { top: 18px; left: auto; right: 18px; }
  .industry-grid.immersive-grid .immersive-card { min-height: 220px; }
}

@media (prefers-reduced-motion: reduce) {
  .v3-orbit span, .hero.page-top::before, .hero-visual::before, .case-teaser::before, .v3-salesforce-mark { animation: none; }
  .home-paths>a, .home-paths>a::before, .home-paths>a::after, .service-page .service-list article::after { transition: none; }
}

/* Unified surfaces and a slow, clipped edge arc. */
.home-paths { align-items:stretch; gap:18px; background:transparent !important; background-image:none !important; }
.home-paths > a, .home-paths > a:nth-child(2) {
  min-height:330px; transform:none; background:var(--soft-blue); overflow:hidden;
  color:var(--graphite); transition:transform .6s ease, box-shadow .6s ease;
}
.home-paths > a span, .home-paths > a:nth-child(2) span { color:var(--deep-blue); }
.home-paths > a:hover, .home-paths > a:focus-visible, .home-paths > a:nth-child(2):hover {
  background:var(--soft-blue); color:var(--graphite); transform:translateY(-7px);
  box-shadow:12px 14px 0 rgba(91,143,168,.18);
}
.home-paths > a { padding:clamp(24px,2.5vw,38px); }
.home-paths h2 { max-width:none; font-size:clamp(26px,2.2vw,36px); line-height:1.15; text-wrap:pretty; }
.home-paths > a::before,
.home-paths > a:hover::before,
.home-paths > a:focus-visible::before {
  display:block; pointer-events:none; opacity:.18;
  background-image:linear-gradient(rgba(37,40,42,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(37,40,42,.055) 1px,transparent 1px);
  background-size:42px 42px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 48%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 48%,transparent);
}
.home-paths > a::after { border:2px solid rgba(255,255,255,.9); background:rgba(255,255,255,.12); }
.case-teaser::before {
  opacity:.09; background-image:radial-gradient(circle, var(--blue) 0 2px, transparent 2.7px);
  background-size:78px 78px; background-position:center;
  animation:v3-soft-field 20s ease-in-out infinite;
}
@keyframes v3-soft-field { 0%,100% { transform:scale(1.04); opacity:.075; } 50% { transform:scale(.98); opacity:.11; } }
.service-page .service-list article { transition:background-color .65s ease; }
.service-page .service-list article::before { display:none; }
.service-page .service-list article::after {
  inset:auto; width:340px; height:340px; right:-210px; top:-210px;
  border:2px solid rgba(255,255,255,.9); border-radius:50%;
  background:rgba(255,255,255,.12); opacity:0; transform:scale(.75);
  transition:transform 1.2s ease,opacity .9s ease; pointer-events:none;
}
.service-page .service-list article:hover { background:#dbe8ee; }
.service-page .service-list article:hover::after { opacity:1; transform:scale(1.35); }
.subpage-hero { isolation:isolate; }
.subpage-hero > h1, .subpage-hero > p { position:relative; z-index:2; }
.subpage-hero h1 > span { display:block; }
.subpage-hero > p:not(.eyebrow) { max-width:54ch; margin-top:48px; color:var(--slate); font-size:clamp(18px,1.55vw,22px); line-height:1.6; }
.subpage-hero.brand-blue > p:not(.eyebrow) { color:#eef5f7; }
body[data-page="industries"] .subpage-hero h1 { max-width:24ch; }
body[data-page="how-we-work"] .subpage-hero h1 { max-width:23ch; }
body[data-page="about"] .subpage-hero h1 { max-width:25ch; }
body[data-page="industries"] .subpage-hero > p:not(.eyebrow) { max-width:56ch; }
body[data-page="services"] .subpage-hero::before,
body[data-page="industries"] .subpage-hero::before,
body[data-page="how-we-work"] .subpage-hero::before,
body[data-page="about"] .subpage-hero::before { display:none; }
.v3-edge-arc {
  position:absolute; width:min(50vw,650px); aspect-ratio:1;
  right:-18vw; top:8%; border:1px solid rgba(91,143,168,.3);
  border-radius:50%; pointer-events:none; z-index:0;
  animation:v3-edge-breathe 26s ease-in-out -6.5s infinite;
}
.brand-blue .v3-edge-arc { border-color:rgba(255,255,255,.35); }
.v3-arc-arm { position:absolute; inset:0; animation:v3-arc-travel 80s ease-in-out -40s infinite alternate; }
.v3-arc-point { position:absolute; left:0; top:50%; width:0; height:0; animation:v3-arc-counter 80s ease-in-out -40s infinite alternate; }
body[data-page] .v3-edge-arc .v3-salesforce-mark {
  position:absolute; inset:auto; left:-38px; top:-27px;
  width:76px; height:auto; max-width:none; margin:0; clip-path:none;
  offset-path:none; opacity:.85; animation:v3-logo-sway 14s ease-in-out infinite;
}
body[data-page="home"] .hero-copy > .v3-salesforce-mark {
  position:relative; inset:auto; width:76px; height:auto;
  margin:0 0 28px; clip-path:none; align-self:flex-start;
  animation:v3-logo-sway 14s ease-in-out infinite;
}
@keyframes v3-edge-breathe { 0%,100% { transform:scale(.95); } 50% { transform:scale(1.05); } }
@keyframes v3-arc-travel { from { transform:rotate(-25deg); } to { transform:rotate(25deg); } }
@keyframes v3-arc-counter { from { transform:rotate(25deg); } to { transform:rotate(-25deg); } }
@keyframes v3-logo-sway { 0%,100% { transform:rotate(-2deg) translateY(0); } 50% { transform:rotate(2deg) translateY(-3px); } }
.v3-moment { background-position:center top; }
.team-grid article:nth-child(2) { transform:none; }
.industry-grid.immersive-grid .immersive-card:nth-child(5)::before { background-position:center top; }
@media (max-width:700px) {
  .home-paths > a, .home-paths > a:nth-child(2) { min-height:230px; }
  .subpage-hero h1 > span { display:inline; }
  .subpage-hero > p:not(.eyebrow) { margin-top:34px; }
  .v3-edge-arc { width:300px; right:-235px; top:24px; opacity:.5; }
  body[data-page] .v3-edge-arc .v3-salesforce-mark { width:48px; left:-24px; top:-17px; }
  .v3-moment { background-position:66% top; }
}
/* Footer language placeholder: English stays active until translations exist. */
.footer-language {
  grid-column:1 / -1; justify-self:end;
  display:flex; align-items:center; gap:12px;
  color:var(--ivory); font-size:14px; line-height:1.5;
}
.footer-language select {
  width:auto; min-width:0; flex:none; min-height:44px; padding:10px 10px;
  border:1px solid rgba(247,245,240,.35); border-radius:0;
  background:var(--graphite); color:var(--ivory);
  font:inherit; color-scheme:dark; cursor:pointer;
}
.footer-language select:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
@media (min-width:1001px) {
  footer { grid-template-columns:auto minmax(0,1fr) auto auto; column-gap:clamp(16px,2vw,32px); }
  footer > .footer-language { grid-column:3; grid-row:1; justify-self:center; }
  footer > div { grid-column:4; grid-row:1; }
}
@media (min-width:1001px) and (max-width:1200px) {
  footer > div { max-width:15rem; flex-wrap:wrap; gap:10px 16px; }
}
@media (max-width:650px) {
  body[data-page="how-we-work"] .steps.process-timeline { margin-left:14px; }
  body[data-page="about"] .values-band > div {
    padding:28px 0; border-left:0; border-top:1px solid rgba(247,245,240,.18);
  }
  body[data-page="about"] .values-band > div:first-child { border-top:0; padding-top:0; }
  body[data-page="about"] .values-band > div:last-child { padding-bottom:0; }
  .footer-language { justify-self:start; }
}

/* Home-only mobile spacing and shared caption rows keep both names aligned. */
@media (max-width:650px) {
  .hero.page-top { padding-top:24px; }
  .hero.page-top .hero-copy { padding-top:24px; }
  .hero.page-top .duo-visual {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto minmax(130px,1fr) auto auto auto;
  }
  .hero.page-top .duo-kicker { grid-row:1; }
  .hero.page-top .duo-person {
    display:grid; grid-row:2 / span 3; grid-template-rows:subgrid;
    min-width:0; align-items:start;
  }
  .hero.page-top .duo-person:nth-of-type(1) { grid-column:1; }
  .hero.page-top .duo-person:nth-of-type(2) { grid-column:2; }
  .hero.page-top .duo-person span { grid-row:2; margin:0; overflow-wrap:anywhere; }
  .hero.page-top .duo-person small {
    position:relative; inset:auto; grid-row:3; margin:0;
    line-height:1.5; overflow-wrap:anywhere;
  }
  .hero.page-top .duo-connection { grid-row:5; }
}
@media (prefers-reduced-motion:reduce) {
  .case-teaser::before,.v3-edge-arc,.v3-arc-arm,.v3-arc-point,
  body[data-page] .v3-edge-arc .v3-salesforce-mark,
  body[data-page="home"] .hero-copy > .v3-salesforce-mark { animation:none; }
  .service-page .service-list article::after { transition:none; }
}
