/* Shared foundation for the German and US websites. */

/* Consistent external booking CTAs; context-specific accessible accent colors. */
#main a.demo-booking-link[class] { --booking-color:#4f6f00; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:10px 20px; border:1px solid var(--booking-color); border-radius:999px; background:transparent; color:var(--booking-color); font-size:16px; font-weight:750; line-height:1.4; text-align:center; text-decoration:none; box-shadow:none; }
html[lang="en-US"] #main a.demo-booking-link[class] { --booking-color:#922033; }
#main :is(.bc-hero-panel,.bc-next-step-panel) a.demo-booking-link[class] { --booking-color:#b2e92e; }
html[lang="en-US"] #main :is(.bc-hero-panel,.bc-next-step-panel) a.demo-booking-link[class] { --booking-color:#ff8b96; }
#main a.demo-booking-link[class]:hover { background:var(--booking-color); color:#fff; border-color:var(--booking-color); text-decoration:none; }
#main :is(.bc-hero-panel,.bc-next-step-panel) a.demo-booking-link[class]:hover { color:#292b38; }
#main a.demo-booking-link[class]:focus-visible { outline:3px solid var(--booking-color); outline-offset:4px; }
#main a.demo-booking-link .booking-external-arrow { flex-shrink:0; font-size:1.15em; line-height:1; }
#main a.demo-booking-link[data-language-tooltip] { position:relative; overflow:visible; }
#main a.demo-booking-link[data-language-tooltip]::after { content:attr(data-language-tooltip); position:absolute; top:calc(100% + 9px); left:50%; z-index:20; width:max-content; max-width:240px; padding:7px 10px; border:1px solid var(--booking-color); border-radius:8px; background:rgba(20,21,28,.97); color:#fff; box-shadow:0 10px 28px rgba(20,21,28,.25); font-size:12px; font-weight:600; line-height:1.3; letter-spacing:0; text-transform:none; opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,-4px); transition:opacity .2s ease,transform .2s ease; }
#main a.demo-booking-link[data-language-tooltip]:hover::after,
#main a.demo-booking-link[data-language-tooltip]:focus-visible::after { opacity:1; visibility:visible; transform:translate(-50%,0); }
@media(prefers-reduced-motion:reduce) { #main a.demo-booking-link[data-language-tooltip]::after { transition:none; } }

/* Compact homepage entry: one brand message, one always-visible career invitation. */
.home-intro { --intro-accent:#b2e92e; --intro-ink:#4f6f00; --intro-soft:#f3f8e8; padding:104px 0 20px; background:#fff; }
html[lang="en-US"] .home-intro { --intro-accent:#ff8b96; --intro-ink:#a62436; --intro-soft:#fff1f3; }
.home-intro-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:22px; }
.home-intro-brand,.home-intro-career { padding:clamp(24px,3vw,42px); border-radius:24px; display:flex; flex-direction:column; align-items:flex-start; }
.home-intro-brand { background:linear-gradient(120deg,#fff,var(--intro-soft)); border:2px solid #292b38; color:#292b38; }
.home-intro-eyebrow { font-size:14px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.home-intro-brand .home-intro-eyebrow { color:#555b68; }
.home-intro-wordmark { width:100%; margin:14px 0; color:var(--intro-accent); font-size:clamp(44px,5.5vw,76px); font-weight:800; line-height:1.15; letter-spacing:-.035em; }
.home-intro-words { display:grid; align-items:center; }
.home-intro-words > span { grid-area:1/1; }
.home-intro-word { color:#292b38; opacity:0; animation:intro-word 1.6s ease both; }
.home-intro-initial,.home-intro-final { color:#63851a; }
.home-intro-word:first-child { animation-name:intro-modern; animation-duration:2.45s; }
.home-intro-word:nth-child(2) { animation-delay:2.45s; }
.home-intro-word:nth-child(3) { animation-delay:4.05s; }
.home-intro-final { font-size:1.35em; line-height:1; animation:intro-final .6s ease 5.65s both; }
@keyframes intro-word { 0% { opacity:0; transform:translateY(8px); } 15%,75% { opacity:1; transform:translateY(0); } 100% { opacity:0; transform:translateY(-6px); } }
/* Modern: 1.2s fade-in, 0.8s hold, 0.45s fade-out. */
@keyframes intro-modern { 0% { opacity:0; transform:translateY(8px); } 48.979592%,81.632653% { opacity:1; transform:translateY(0); } 100% { opacity:0; transform:translateY(-6px); } }
@keyframes intro-final { 0% { opacity:0; } 100% { opacity:1; } }
.home-intro-brand > p { width:100%; max-width:none; margin:0 0 24px; font-size:clamp(20px,2vw,24px); font-weight:500; line-height:1.5; color:#4b505e; }
.home-intro-partner { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:auto; padding:20px; width:100%; background:#292b38; border-radius:14px; }
.home-intro-partner img { width:250px; max-width:100%; height:auto; padding:10px 12px; background:#fff; border-radius:8px; }
.home-intro-partner p { flex:1 1 190px; margin:0; color:#fff; font-size:18px; font-weight:700; line-height:1.5; text-align:right; }
.home-intro-career { border:1px solid #383c50; background:linear-gradient(120deg,#292b38,#383c50); }
.home-intro-career .home-intro-eyebrow,.home-intro-career h2 span { color:var(--intro-accent); }
.home-intro-career h2 { color:#fff; }
.home-intro-career h2 { margin:18px 0 14px; font-size:clamp(24px,2.3vw,32px); line-height:1.25; font-weight:750; letter-spacing:-.025em; }
.home-intro-career > p { margin:0 0 20px; font-size:16px; line-height:1.6; color:#e0e1e7; }
.home-intro-career-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; margin-top:auto; padding:12px 20px; border:1px solid var(--intro-accent); border-radius:50px; background:var(--intro-accent); color:#292b38; font-size:16px; font-weight:750; }
.home-intro-career-link:hover { color:#292b38; background:#fff; }
.home-intro-career-link i { flex-shrink:0; }
.home-intro a:focus-visible { outline:3px solid var(--intro-ink); outline-offset:5px; }
.home-intro-career a:focus-visible { outline-color:#fff; }
@media(max-width:991px) { .home-intro-grid { grid-template-columns:1fr; } .home-intro { padding-top:94px; } }
@media(prefers-reduced-motion:reduce) { .home-intro-word,.home-intro-word:first-child { animation:none; opacity:0; } .home-intro-final { animation:none; opacity:1; } }

/* Career invitation links to the local application section. */
a.career-family-badge {
  gap: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: box-shadow 160ms ease;
}
a.career-family-badge:hover {
  color: inherit;
  box-shadow: 0 4px 14px rgba(42, 44, 57, 0.16);
}
a.career-family-badge:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}
@media (max-width: 360px) {
  a.career-family-badge { white-space: normal; text-align: center; }
}

/* One connected homepage service introduction, selector and partner signature. */
#about2.what-we-do.home-services-combined .what-we-do-lead { width:100%; max-width:none; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
#about2.home-services-combined #features.home-feature-showcase { margin-top:30px; padding:0; background:transparent; scroll-margin-top:90px; }
#about2.home-services-combined #features.home-feature-showcase > .container { width:100%; max-width:none; }
#about2.home-services-combined #features .nav-tabs { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; }
#about2.home-services-combined #features .nav-item { width:auto; padding:0; }
#about2.home-services-combined #features .nav-link { padding:12px; gap:10px; }
#about2.home-services-combined #features .feature-tab-label { display:block!important; font-size:17px; line-height:1.3; overflow-wrap:normal; }
#about2.home-services-combined #features .feature-tile-visual { flex:0 0 36px; width:36px; height:40px; }
#about2.home-services-combined #features .feature-tile-logo { max-width:36px; max-height:40px; }
#about2.home-services-combined #features .feature-process-visual i { font-size:24px; }
#about2.what-we-do.home-services-combined .what-we-do-signature { margin-top:24px; }
@media(max-width:1199px) {
  #about2.home-services-combined #features .nav-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #about2.home-services-combined #features .nav-item:last-child { grid-column:1 / -1; }
  #about2.home-services-combined #features .nav-link { min-height:68px; }
}
@media(max-width:575px) {
  #about2.home-services-combined #features .nav-link { flex-direction:column; justify-content:center; text-align:center; min-height:94px; padding:10px 8px; }
  #about2.home-services-combined #features .feature-tile-visual { flex-basis:36px; height:36px; }
  #about2.home-services-combined #features .feature-tab-label { font-size:16px; }
  #about2.home-services-combined #features .nav-item:last-child .nav-link { flex-direction:row; min-height:64px; }
}

/* Interior pages start below the fixed navigation, without a duplicate title bar. */
#main.content-page { padding-top:70px; }
.content-page .section-title .section-page-title { margin:0; font-size:clamp(28px,3.5vw,36px); font-weight:700; line-height:1.3; text-transform:uppercase; font-family:"Poppins",sans-serif; color:#2a2c39; }
.content-page .legal-overview .legal-page-title { margin:0 0 16px; color:#fff; font-size:clamp(28px,3.5vw,38px); font-weight:800; line-height:1.2; }
.content-page .portfolio-description .portfolio-page-title { margin:0 0 20px; font-size:26px; font-weight:700; line-height:1.3; }

/* Homepage industry expertise */
.home-industries { --hi-accent:#63851a; --hi-soft:#f3f8e9; padding:64px 0; background:#f5f6f8; scroll-margin-top:88px; }
html[lang="en-US"] .home-industries { --hi-accent:#a62436; --hi-soft:#fdf0f2; }
.home-industries-panel { padding:clamp(24px,4vw,48px); border:1px solid #e1e5e9; border-radius:26px; background:#fff; box-shadow:0 18px 45px rgba(32,33,43,.06); }
.home-industries-eyebrow { display:block; margin-bottom:14px; color:var(--hi-accent); font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.home-industries-heading h2 { margin:0 0 18px; color:#272a35; font-size:clamp(28px,3.5vw,42px); font-weight:750; line-height:1.2; letter-spacing:-.015em; }
.home-industries-heading p { width:100%; max-width:none; margin:0; color:#575c69; font-size:17px; line-height:1.75; }
.home-industries-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:30px; }
.home-industry-card { display:flex; flex-direction:column; padding:26px; border:1px solid #e1e5e9; border-radius:18px; background:linear-gradient(135deg,#fff,var(--hi-soft)); color:#272a35; transition:border-color .2s,box-shadow .2s; }
.home-industry-heading { display:flex; align-items:center; gap:16px; margin-bottom:18px; }
.home-industry-heading > i { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; height:44px; border-radius:13px; background:var(--hi-soft); color:var(--hi-accent); font-size:25px; }
.home-industry-heading h3 { margin:0; color:#272a35; font-size:22px; font-weight:750; line-height:1.3; }
.home-industry-card p { margin:0 0 24px; color:#575c69; font-size:16px; line-height:1.7; }
.home-industry-link { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; color:var(--hi-accent); font-size:15px; font-weight:750; }
.home-industry-card:hover { color:#272a35; border-color:var(--hi-accent); box-shadow:0 8px 22px rgba(32,33,43,.08); }
.home-industry-card:hover .home-industry-link { text-decoration:underline; }
.home-industries-actions { display:flex; margin-top:28px; }
.home-industries-actions a { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:12px 22px; border:1px solid var(--hi-accent); border-radius:999px; color:var(--hi-accent); font-size:15px; font-weight:750; text-align:center; }
.home-industries-actions a:hover { background:var(--hi-accent); color:#fff; }
.home-industries a:focus-visible { outline:3px solid var(--hi-accent); outline-offset:5px; }
@media(max-width:767px) { .home-industries { padding:40px 0; } .home-industries-grid { grid-template-columns:1fr; } .home-industry-card { padding:22px; } }
@media(prefers-reduced-motion:reduce) { .home-industry-card { transition:none; } }

/* Reveal the current nested route when its desktop parent menu is opened. */
#header .navbar.navbar-mobile .dropdown > ul {
  visibility: visible;
  opacity: 1;
}
@media (min-width: 992px) {
  #header .navbar:not(.navbar-mobile) > ul > .dropdown:is(:hover, :focus-within) .dropdown.nav-open-current > ul {
    opacity: 1;
    visibility: visible;
    top: 0;
    left: 100%;
  }
}
@media (min-width: 992px) and (max-width: 1366px) {
  #header .navbar:not(.navbar-mobile) > ul > .dropdown:is(:hover, :focus-within) .dropdown.nav-open-current > ul { left: auto; right: 100%; }
}

/*--------------------------------------------------------------
# General
# USA Colour: #b2e92e
# DE Colour: #b2e92e
--------------------------------------------------------------*/
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/open-sans-v36-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/open-sans-v36-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v36-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/open-sans-v36-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/open-sans-v36-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 500;
  src: url('../fonts/open-sans-v36-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/open-sans-v36-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/open-sans-v36-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/open-sans-v36-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/open-sans-v36-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* raleway-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/raleway-v29-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* raleway-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/raleway-v29-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* raleway-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/raleway-v29-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* raleway-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/raleway-v29-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* raleway-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/raleway-v29-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* raleway-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 500;
  src: url('../fonts/raleway-v29-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* raleway-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/raleway-v29-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* raleway-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/raleway-v29-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* raleway-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/raleway-v29-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* raleway-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/raleway-v29-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/poppins-v20-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/poppins-v20-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/poppins-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/poppins-v20-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/poppins-v20-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  src: url('../fonts/poppins-v20-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/poppins-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/poppins-v20-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/poppins-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/poppins-v20-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body {
  font-family: "Open Sans", sans-serif;
  color: #444444;
}

/* Keep the footer at the viewport bottom on the short Life-Cycle page. */
body.lifecycle-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

body.lifecycle-page #main {
  flex: 1 0 auto;
  width: 100%;
}

body.lifecycle-page #footer {
  flex: 0 0 auto;
  width: 100%;
  margin-top: auto;
}

a {
  color: #5f8000;
  text-decoration: none;
}

a:hover {
  color: #4f6f00;
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Raleway", sans-serif;
}


/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 996;
  background: #b2e92e;
  width: 40px;
  height: 40px;
  border-radius: 50px;
  transition: all 0.4s;
}

.back-to-top i {
  font-size: 28px;
  color: #fff;
  line-height: 0;
}

.back-to-top:hover {
  background: #b2e92e;
  color: #fff;
}

.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Disable AOS delay on mobile
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
  height: 70px;
  z-index: 997;
  transition: all 0.5s;
  background: rgba(42, 44, 57, 0.9);
}

#header.header-transparent {
  background: transparent;
}

#header.header-scrolled {
  background: rgba(42, 44, 57, 0.9);
}

#header .logo .logo-brand {
  font-size: 28px;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 1px;
}

#header .logo .logo-brand a,
#header .logo .logo-brand a:hover {
  color: #fff;
  text-decoration: none;
}

#header .logo img {
  padding: 0;
  margin: 0;
  width: auto;
  height: 50px;
  max-height: 50px;
}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
  padding: 60px 0;
  overflow: hidden;
}

.section-title {
  padding-bottom: 40px;
}

.section-title h2 {
  font-size: 14px;
  font-weight: 500;
  padding: 0;
  line-height: 1px;
  margin: 0 0 5px 0;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #aaaaaa;
  font-family: "Poppins", sans-serif;
}

.section-title h2::after {
  content: "";
  width: 120px;
  height: 1px;
  display: inline-block;
  background: #b2e92e;
  margin: 4px 10px;
}

.section-title p,
.section-title .home-section-heading {
  margin: 0;
  font-size: 36px;
  font-weight: 700;
  text-transform: uppercase;
  font-family: "Poppins", sans-serif;
  color: #2a2c39;
}

/*--------------------------------------------------------------
# About
--------------------------------------------------------------*/
.about {
  padding-top: 30px;
}

.about .content h3 {
  font-weight: 600;
  font-size: 26px;
}

.about .content ul {
  list-style: none;
  padding: 0;
}

.about .content ul li {
  padding-left: 28px;
  position: relative;
}

.about .content ul li+li {
  margin-top: 10px;
}

.about .content ul i {
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 20px;
  color: #b2e92e;
  line-height: 1;
}

.about .content p:last-child {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Services
--------------------------------------------------------------*/
.services .icon-box {
  padding: 30px;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
  width: 100%;
  height: 100%;
}

.services .icon-box:hover {
  transform: translateY(-10px);
  box-shadow: 0 2px 35px 0 rgba(179, 33, 52, 0.5);
  box-shadow: 0 2px 29px 0 rgba(255, 255, 255, 0.60);
  transition: all .3s ease-in-out;
}

.services .icon {
  position: absolute;
  left: -20px;
  top: calc(50% - 30px);
}

.services .icon i {
  font-size: 64px;
  line-height: 1;
  transition: 0.5s;
}

.services .title {
  margin-left: 40px;
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 18px;
}

.services .title a {
  color: #2a2c39;
  transition: ease-in-out 0.3s;
}

.services .title a:hover {
  color: #4f6f00;
}

.services .description {
  font-size: 14px;
  margin-left: 40px;
  line-height: 24px;
  margin-bottom: 0;
  color: black;
}

/*--------------------------------------------------------------
# Portfolio Details
--------------------------------------------------------------*/
.portfolio-details {
  padding-top: 40px;
}

.portfolio-details .portfolio-details-slider img {
  width: 100%;
}

.portfolio-details .portfolio-media-contained img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 512px;
  margin: 0 auto;
  object-fit: contain;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #fff;
  opacity: 1;
  border: 1px solid #b2e92e;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #b2e92e;
}

/*--------------------------------------------------------------
# Team
--------------------------------------------------------------*/
.team {
  background: #fff;
  padding: 60px 0;
}

.team .member {
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1);
}

.team .member .member-img {
  position: relative;
  overflow: hidden;
}

.team .member .member-info {
  padding: 25px 15px;
}

.team .member .member-info h4 {
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 18px;
  color: #2a2c39;
}

.team .member .member-info span {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #aaaaaa;
}

.team .member .member-info p {
  font-style: italic;
  font-size: 14px;
  line-height: 26px;
  color: #777777;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact .php-email-form {
  width: 100%;
  background: #fff;
}

.contact .php-email-form .form-group {
  padding-bottom: 8px;
}

.contact .php-email-form .form-group label {
  vertical-align: top; 
  position: relative; 
  top: 10px;
}

.contact .php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: left;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .error-message br+br {
  margin-top: 25px;
}

.contact .php-email-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .loading {
  display: none;
  background: #fff;
  text-align: center;
  padding: 15px;
}

.contact .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid #18d26e;
  border-top-color: #eee;
  animation: animate-loading 1s linear infinite;
}

.contact .php-email-form input,
.contact .php-email-form textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
}

.contact .php-email-form input {
  height: 44px;
}

.contact .php-email-form checkbox {
  height: 44px;
  vertical-align: middle;
}


.contact .php-email-form textarea {
  padding: 10px 12px;
}

.contact .php-email-form button[type=submit] {
  background: #b2e92e;
  border: 0;
  padding: 10px 24px;
  color: #fff;
  transition: 0.4s;
  border-radius: 50px;
}

.contact .php-email-form button[type=submit]:hover {
  background: #b2e92e;
}

@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}



/* Modern target-group overview shared by the German and US websites. */
.audience-page {
  --audience-accent: #b2e92e;
  --audience-accent-hover: #c7f456;
  --audience-accent-strong: #5f8000;
  --audience-accent-light: #c7f456;
  --audience-soft: rgba(178, 233, 46, .075);
  --audience-line: rgba(95, 128, 0, .22);
  --audience-ink: #2a2c39;
  --audience-muted: #5b5e6b;
  --audience-dark: #20212a;
  --audience-button-text: #243000;
}
.audience-hero {
  padding: 70px 0 72px;
  background: #fff;
}
.audience-hero .section-title { padding-bottom: 28px; }
.audience-intro {
  margin: 0 0 32px;
  text-align: left;
}
.audience-eyebrow {
  display: block;
  margin-bottom: 9px;
  color: var(--audience-accent-strong);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.audience-intro h1 {
  margin: 0 0 15px;
  color: var(--audience-ink);
  font-size: clamp(30px, 3.7vw, 46px);
  font-weight: 800;
  line-height: 1.14;
}
.audience-intro p {
  max-width: 900px;
  margin: 0;
  color: var(--audience-muted);
  font-size: 16px;
  line-height: 1.75;
}
.audience-jump-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
  padding: 14px;
  border: 1px solid rgba(42, 44, 57, .09);
  border-radius: 19px;
  background: #f7f8f5;
  box-shadow: 0 15px 40px rgba(42, 44, 57, .07);
}
.audience-jump-grid > a {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  min-height: 108px;
  padding: 16px;
  border: 1px solid rgba(42, 44, 57, .1);
  border-radius: 14px;
  background: #fff;
  color: var(--audience-ink);
  box-shadow: inset 0 -3px 0 transparent;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.audience-jump-grid > a:hover,
.audience-jump-grid > a:focus-visible {
  border-color: var(--audience-accent);
  color: var(--audience-ink);
  box-shadow: inset 0 -3px 0 var(--audience-accent), 0 10px 24px rgba(42, 44, 57, .08);
  transform: translateY(-2px);
}
.audience-jump-grid > a:focus-visible {
  outline: 2px solid var(--audience-accent);
  outline-offset: 2px;
}
.audience-jump-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--audience-line);
  border-radius: 11px;
  background: var(--audience-soft);
  color: var(--audience-accent-strong);
  font-size: 21px;
}
.audience-jump-grid strong {
  display: block;
  margin-bottom: 4px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
}
.audience-jump-grid small {
  display: block;
  color: var(--audience-muted);
  font-size: 12px;
  line-height: 1.45;
}
.audience-jump-grid > a > i {
  color: var(--audience-accent-strong);
  font-size: 16px;
}
.audience-segment {
  scroll-margin-top: 88px;
  padding: 74px 0 78px;
  background: #fff;
}
.audience-segment-alt { background: #f7f8f5; }
.audience-segment-head {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  max-width: none;
  margin-bottom: 28px;
}
.audience-segment-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border: 1px solid var(--audience-line);
  border-radius: 14px;
  background: var(--audience-soft);
  color: var(--audience-accent-strong);
  font-size: 27px;
}
.audience-segment-head h2 {
  margin: 0 0 10px;
  color: var(--audience-ink);
  font-size: clamp(25px, 3vw, 36px);
  font-weight: 800;
  line-height: 1.2;
}
.audience-segment-head p {
  max-width: none;
  margin: 0;
  color: var(--audience-muted);
  font-size: 15px;
  line-height: 1.7;
}
.audience-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
}
.audience-benefit-grid article {
  display: grid;
  align-content: start;
  min-width: 0;
  padding: 22px 20px;
  border: 1px solid rgba(42, 44, 57, .1);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(42, 44, 57, .055);
}
.audience-benefit-grid article > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  margin-bottom: 18px;
  border-radius: 10px;
  background: var(--audience-soft);
  color: var(--audience-accent-strong);
  font-size: 20px;
}
.audience-benefit-grid h3 {
  margin: 0 0 8px;
  color: var(--audience-ink);
  font-size: 17px;
  font-weight: 800;
}
.audience-benefit-grid p {
  margin: 0;
  color: var(--audience-muted);
  font-size: 13px;
  line-height: 1.62;
}
.audience-outcome {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  margin-top: 18px;
  padding: 17px 19px;
  border-left: 4px solid var(--audience-accent);
  border-radius: 0 11px 11px 0;
  background: var(--audience-soft);
}
.audience-outcome i {
  color: var(--audience-accent-strong);
  font-size: 20px;
  line-height: 1.35;
}
.audience-outcome p {
  margin: 0;
  color: var(--audience-muted);
  font-size: 14px;
  line-height: 1.65;
}
.audience-outcome strong { color: var(--audience-ink); }
.audience-next-step {
  padding: 76px 0 82px;
  background: #fff;
}
.audience-next-step-panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: clamp(26px, 4vw, 40px);
  border-radius: 18px;
  background: var(--audience-dark);
  box-shadow: 0 18px 44px rgba(42, 44, 57, .14);
}
.audience-next-step-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border: 1px solid var(--audience-accent);
  border-radius: 14px;
  background: var(--audience-soft);
  color: var(--audience-accent-light);
  font-size: 28px;
}
.audience-next-step-panel h2 {
  margin: 0 0 7px;
  color: #fff;
  font-size: clamp(21px, 2.4vw, 28px);
  font-weight: 800;
}
.audience-next-step-panel p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, .7);
  line-height: 1.65;
}
.audience-next-step-actions {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.audience-action-primary,
.audience-action-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 11px 17px;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 750;
}
.audience-action-primary {
  border: 1px solid var(--audience-accent);
  background: var(--audience-accent);
  color: var(--audience-button-text);
}
.audience-action-primary:hover,
.audience-action-primary:focus-visible {
  border-color: var(--audience-accent-hover);
  background: var(--audience-accent-hover);
  color: var(--audience-button-text);
}
.audience-action-dark {
  border: 1px solid rgba(255, 255, 255, .24);
  background: transparent;
  color: #fff;
}
.audience-action-dark:hover,
.audience-action-dark:focus-visible {
  border-color: var(--audience-accent);
  color: var(--audience-accent-light);
}
.audience-action-primary:focus-visible,
.audience-action-dark:focus-visible {
  outline: 2px solid var(--audience-accent-light);
  outline-offset: 3px;
}
@media (max-width: 1199px) {
  .audience-jump-grid,
  .audience-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .audience-segment-head { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; padding-right: 0; }
  .audience-segment-icon { width: 48px; height: 48px; font-size: 23px; }
  .audience-next-step-panel { grid-template-columns: auto minmax(0, 1fr); }
  .audience-next-step-actions { grid-column: 2; flex-direction: row; justify-self: start; }
}
@media (max-width: 575px) {
  .audience-hero { padding: 54px 0 58px; }
  .audience-jump-grid { grid-template-columns: 1fr; padding: 10px; }
  .audience-jump-grid > a { min-height: 92px; padding: 14px; }
  .audience-segment { padding: 56px 0 60px; }
  .audience-segment-head { grid-template-columns: 1fr; }
  .audience-benefit-grid { grid-template-columns: 1fr; }
  .audience-benefit-grid article { grid-template-columns: 42px minmax(0, 1fr); gap: 13px; padding: 18px; }
  .audience-benefit-grid article > i { margin-bottom: 0; }
  .audience-next-step { padding: 60px 0 64px; }
  .audience-next-step-panel { grid-template-columns: 1fr; gap: 16px; }
  .audience-next-step-actions { grid-column: auto; flex-direction: column; justify-self: stretch; }
  .audience-next-step-actions > a { width: 100%; }
}

/* Product lifecycle: shared regional layout */
.lc-modern { --lc-accent:#577717; --lc-bright:#c7ff3d; --lc-soft:#f3f8e9; --lc-ink:#292b35; --lc-muted:#626570; }
html[lang="en-US"] .lc-modern { --lc-accent:#a62436; --lc-bright:#ffacb5; --lc-soft:#fdf0f2; }
.lc-hero { padding:70px 0; background:linear-gradient(180deg,#fff,var(--lc-soft)); }
.lc-hero-panel { padding:48px; border:1px solid #e0e3db; border-radius:26px; background:#fff; box-shadow:0 20px 50px rgba(37,39,51,.07); }
.lc-eyebrow { display:block; margin-bottom:14px; color:var(--lc-accent); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.lc-modern h1 { margin:0 0 22px; font-size:clamp(36px,4.4vw,60px); font-weight:800; line-height:1.1; color:var(--lc-ink); }
.lc-modern h2 { margin:0 0 20px; font-size:clamp(28px,3vw,42px); line-height:1.17; font-weight:800; color:var(--lc-ink); }
.lc-modern h3 { font-size:21px; font-weight:800; color:var(--lc-ink); }
.lc-modern p { color:var(--lc-muted); line-height:1.75; }
.lc-lead { font-size:18px; margin-bottom:24px; }
.lc-updated { display:flex; gap:10px; align-items:baseline; margin:0 0 28px; color:var(--lc-accent); font-size:14px; }
.lc-updated time { font-weight:750; }
.lc-actions { display:flex; flex-wrap:wrap; gap:12px; }
.lc-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:11px 20px; border:1px solid var(--lc-accent); border-radius:999px; color:var(--lc-accent); background:#fff; font-weight:750; }
.lc-primary { background:var(--lc-accent); color:#fff; }
.lc-button:hover,.lc-button:focus-visible { background:var(--lc-ink); border-color:var(--lc-ink); color:#fff; }
.lc-button:focus-visible,.lc-source:focus-visible { outline:3px solid var(--lc-accent); outline-offset:4px; }
.lc-section { padding:76px 0; scroll-margin-top:88px; }
.lc-intro { margin:0 0 30px; font-size:17px; }
.lc-version-grid,.lc-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.lc-version-card { padding:30px; border:1px solid #dfe3da; border-radius:20px; background:#fff; box-shadow:0 12px 30px rgba(37,39,51,.05); }
.lc-current { background:var(--lc-soft); border-color:var(--lc-accent); }
.lc-role { display:block; color:var(--lc-accent); font-size:13px; font-weight:750; }
.lc-version-card h3 { margin:24px 0 6px; font-size:48px; }
.lc-version-card h3 span { font-size:28px; color:var(--lc-muted); }
.lc-version-card p { font-size:14px; }
.lc-support-date { display:grid; gap:6px; border-top:1px solid #dfe3da; margin-top:24px; padding-top:20px; }
.lc-support-date span { color:var(--lc-muted); font-size:13px; }
.lc-support-date time { font-size:19px; font-weight:800; color:var(--lc-ink); }
.lc-note { display:flex; align-items:baseline; gap:12px; margin:24px 0 14px; font-size:14px; }
.lc-note i { flex:0 0 auto; color:var(--lc-accent); }
.lc-source { display:inline-flex; align-items:center; gap:8px; color:var(--lc-accent); font-weight:750; font-size:14px; }
.lc-source:hover { color:var(--lc-ink); text-decoration:underline; }
.lc-dark { background:#20222b; }
.lc-support-panel { padding:40px; border:1px solid #42444d; border-radius:24px; background:#2a2c36; }
.lc-dark h2,.lc-dark h3 { color:#fff; }
.lc-dark p { color:#ced0d6; }
.lc-dark .lc-eyebrow,.lc-feature-grid i { color:var(--lc-bright); }
.lc-feature-grid article { padding:26px; background:rgba(255,255,255,.035); border:1px solid #484a54; border-radius:16px; }
.lc-feature-grid i { display:block; font-size:26px; margin-bottom:18px; }
.lc-feature-grid h3 { font-size:20px; }
.lc-feature-grid p { margin-bottom:0; }
.lc-modes { background:#f5f6f8; }
.lc-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:30px; }
.lc-mode-card { display:flex; flex-direction:column; align-items:flex-start; padding:32px; border:1px solid #e0e2e7; border-radius:20px; background:#fff; }
.lc-mode-card > i { display:grid; place-items:center; width:54px; height:54px; border-radius:14px; background:var(--lc-soft); color:var(--lc-accent); font-size:26px; margin-bottom:22px; }
.lc-mode-card .lc-source { margin-top:auto; padding-top:12px; }
.lc-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:32px; padding:38px; background:var(--lc-soft); border:1px solid #e0e3db; border-radius:22px; }
.lc-cta p { margin:0; }
.lc-cta .lc-actions { flex-direction:column; align-items:flex-start; }
@media(max-width:991px) { .lc-version-grid,.lc-feature-grid { gap:14px; } .lc-version-card,.lc-feature-grid article { padding:22px; } .lc-cta { grid-template-columns:1fr; } .lc-cta .lc-actions { flex-direction:row; } }
@media(max-width:767px) { .lc-hero,.lc-section { padding:52px 0; } .lc-hero-panel,.lc-support-panel,.lc-cta { padding:28px 22px; } .lc-version-grid,.lc-feature-grid,.lc-mode-grid { grid-template-columns:1fr; } .lc-mode-card { padding:26px; } }
@media(max-width:480px) { .lc-actions { flex-direction:column; } .lc-button { width:100%; } }

/* Subscription offering notice on Lifecycle and Business Central pages. */
.subscription-notice-section { padding:32px 0; background:#fff; }
.subscription-notice { --notice-accent:#577717; --notice-soft:#f3f8e9; display:grid; grid-template-columns:54px minmax(0,1fr); gap:22px; padding:30px; border:1px solid #dce2d3; border-left:4px solid var(--notice-accent); border-radius:18px; background:var(--notice-soft); }
html[lang="en-US"] .subscription-notice { --notice-accent:#a62436; --notice-soft:#fdf0f2; }
.subscription-notice > i { display:grid; place-items:center; width:54px; height:54px; color:var(--notice-accent); background:#fff; border-radius:14px; font-size:26px; }
.subscription-notice-eyebrow { display:block; margin-bottom:10px; color:var(--notice-accent); font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; }
.subscription-notice h2 { margin:0 0 16px; color:#292b35; font-size:clamp(24px,2.4vw,32px); font-weight:800; line-height:1.25; }
.subscription-notice p { color:#50545f; line-height:1.7; }
.subscription-notice .subscription-notice-detail { font-size:14px; }
.subscription-notice a { display:inline-flex; align-items:center; gap:8px; color:var(--notice-accent); font-size:14px; font-weight:750; }
.subscription-notice a:hover { text-decoration:underline; }
@media(max-width:575px) { .subscription-notice { grid-template-columns:1fr; padding:24px; gap:16px; } }

/* Cloud migration offer on regional homepages. */
.home-migration { --migration-accent:#c7ff3d; --migration-ink:#293900; padding:76px 0; background:#f5f6f8; scroll-margin-top:88px; }
html[lang="en-US"] .home-migration { --migration-accent:#ffacb5; --migration-ink:#541721; }
.home-migration-panel { padding:42px; border:1px solid #454751; border-radius:26px; background:#252731; box-shadow:0 20px 48px rgba(37,39,51,.12); }
.home-migration-eyebrow { display:block; margin-bottom:16px; color:var(--migration-accent); font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:800; }
.home-migration h2 { margin:0 0 22px; color:#fff; font-size:clamp(30px,3.5vw,48px); line-height:1.16; font-weight:800; }
.home-migration-intro { margin-bottom:30px; color:#d0d2d8; line-height:1.75; font-size:17px; }
.home-migration-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-migration-grid article { padding:25px; border:1px solid #484a54; border-radius:16px; background:rgba(255,255,255,.035); }
.home-migration-grid i { display:block; margin-bottom:18px; color:var(--migration-accent); font-size:27px; }
.home-migration-grid h3 { color:#fff; font-size:20px; font-weight:800; }
.home-migration-grid p { margin:0; color:#d0d2d8; line-height:1.7; }
.home-migration-footer { margin-top:28px; padding-top:25px; border-top:1px solid #484a54; }
.home-migration-footer > p { color:#fff; font-weight:650; }
.home-migration-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.home-migration-button { display:inline-flex; gap:10px; align-items:center; justify-content:center; min-height:46px; padding:11px 20px; border:1px solid var(--migration-accent); border-radius:999px; color:var(--migration-accent); font-weight:750; }
.home-migration-primary { background:var(--migration-accent); color:var(--migration-ink); }
.home-migration-button:hover,.home-migration-button:focus-visible { background:#fff; border-color:#fff; color:#252731; }
.home-migration-button:focus-visible { outline:3px solid var(--migration-accent); outline-offset:4px; }
.lc-nav-plans { padding-bottom:0; }
@media(max-width:767px) { .home-migration { padding:52px 0; } .home-migration-panel { padding:28px 22px; } .home-migration-grid { grid-template-columns:1fr; } }
@media(max-width:480px) { .home-migration-actions { flex-direction:column; } .home-migration-button { width:100%; } }

.lc-timeline { margin:30px 0 0; }
.lc-timeline-scroll { overflow-x:auto; border:1px solid #dfe3e8; border-radius:20px; background:#f7f8fa; }
.lc-timeline-scroll img { display:block; width:100%; min-width:850px; height:auto; }
.lc-timeline-scroll:focus-visible { outline:3px solid var(--lc-accent); outline-offset:4px; }
.lc-timeline figcaption { display:none; margin-top:10px; font-size:13px; color:var(--lc-muted); }
@media(max-width:991px) { .lc-timeline figcaption { display:block; } }

/* Customer Relations contact on the regional About pages */
/* Power BI product pages */
/* Power Platform product pages */
/* Copilot pages and Business Central highlight */

/* mse project methodology */
.pm-page .pp-eyebrow { font-size:13px; }
.pm-heading-label { display:flex; align-items:center; gap:14px; margin-bottom:24px; }
.pm-heading-label .pp-eyebrow { margin:0; }
.pm-heading-label > i { display:inline-flex; align-items:center; justify-content:center; flex:0 0 40px; height:40px; border-radius:12px; background:#252731; color:var(--pp-bright); font-size:23px; }
.pm-page .pp-card p { font-size:16px; }
.pm-card-heading { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.pm-card-heading > i { flex:0 0 26px; color:var(--pp-accent); font-size:25px; line-height:1.2; }
.pp-card .pm-card-heading h3 { margin:0; }
.pm-budget-section { padding:64px 0; background:#f5f6f8; }
.pm-budget-panel { padding:clamp(28px,4.5vw,54px); border-radius:26px; background:#252731; color:#fff; }
.pm-budget-panel .pp-eyebrow { color:var(--pp-bright); }
.pm-budget-panel h2 { margin:0 0 20px; font-size:clamp(28px,3.5vw,42px); font-weight:750; line-height:1.2; }
.pm-budget-panel > p { color:#dce0e7; }
.pm-budget-content { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:36px; align-items:center; margin-top:32px; }
.pm-budget-list { list-style:none; margin:0; padding:0; }
.pm-budget-list li { display:flex; gap:12px; margin:0 0 20px; font-size:17px; line-height:1.6; }
.pm-budget-list i { color:var(--pp-bright); }
.pm-budget-note { margin:26px 0 0; color:#c7cbd4; font-size:16px; line-height:1.7; }
.pm-board { min-width:0; margin:0; padding:28px; border:1px solid #60636e; border-radius:18px; background:#30333e; }
.pm-board figcaption > span { display:block; margin-bottom:8px; color:#c7cbd4; font-size:13px; }
.pm-board h3 { margin:0 0 24px; color:#fff; font-size:22px; font-weight:700; line-height:1.3; }
.pm-budget-total { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; border-bottom:1px solid #60636e; padding-bottom:18px; }
.pm-budget-total span { font-size:16px; }
.pm-budget-total strong { font-size:32px; color:var(--pp-bright); }
.pm-budget-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:22px 0; }
.pm-budget-stats div { min-width:0; }
.pm-budget-stats dt { color:#dce0e7; font-size:14px; font-weight:500; line-height:1.5; }
.pm-budget-stats dd { margin:8px 0 0; color:#fff; font-size:22px; font-weight:750; }
.pm-budget-bar { display:flex; height:14px; gap:4px; overflow:hidden; border-radius:5px; }
.pm-budget-bar span:nth-child(1) { width:35%; background:var(--pp-bright); }
.pm-budget-bar span:nth-child(2) { width:45%; background:#9ba8c2; }
.pm-budget-bar span:nth-child(3) { width:20%; background:#515563; border:1px solid #9ba8c2; }
.pm-budget-key { list-style:none; margin:18px 0 0; padding:0; display:grid; gap:10px; }
.pm-budget-key li { display:grid; grid-template-columns:10px 1fr auto; gap:10px; align-items:baseline; font-size:14px; color:#e0e3e9; }
.pm-budget-key i { width:10px; height:10px; border-radius:2px; background:var(--pp-bright); }
.pm-budget-key li:nth-child(2) i { background:#9ba8c2; }
.pm-budget-key li:nth-child(3) i { background:#515563; border:1px solid #9ba8c2; }
.pm-board-note { margin:20px 0 0; color:#c7cbd4; font-size:13px; line-height:1.6; }
.pm-document-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; list-style:none; padding:0; margin:32px 0 0; counter-reset:pm-step; }
.pm-document-flow li { border-top:2px solid var(--pp-accent); padding-top:20px; }
.pm-document-flow li::before { counter-increment:pm-step; content:"0" counter(pm-step); display:block; color:var(--pp-accent); font-size:14px; font-weight:800; margin-bottom:16px; }
.pm-document-flow h3 { font-size:20px; font-weight:750; margin:0 0 12px; }
.pm-document-flow p { margin:0; color:#575c69; line-height:1.7; font-size:16px; }
.pm-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pm-page .pp-card .pp-link { margin-top:22px; }
.pm-crosslink { --pm-accent:#63851a; --pm-soft:#f3f8e9; padding:32px 0; }
html[lang="en-US"] .pm-crosslink { --pm-accent:#a62436; --pm-soft:#fdf0f2; }
.pm-crosslink-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; padding:clamp(24px,4vw,40px); border:1px solid #dfe3e8; border-left:4px solid var(--pm-accent); border-radius:18px; background:var(--pm-soft); }
.pm-crosslink-label { display:block; color:var(--pm-accent); margin-bottom:10px; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.pm-crosslink h2 { margin:0 0 12px; color:#272a35; font-size:clamp(25px,2.5vw,32px); font-weight:750; line-height:1.3; }
.pm-crosslink p { max-width:none; width:100%; margin:0; color:#575c69; font-size:16px; line-height:1.7; }
.pm-crosslink a { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:13px 22px; border-radius:999px; background:var(--pm-accent); color:#fff; font-size:15px; font-weight:750; text-align:center; }
.pm-crosslink a:hover { background:#252731; }
.pm-crosslink a:focus-visible { outline:3px solid var(--pm-accent); outline-offset:5px; }
@media(max-width:991px) {
  .pm-budget-content { grid-template-columns:1fr; }
  .pm-document-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pm-crosslink-panel { grid-template-columns:1fr; }
  .pm-crosslink a { justify-self:start; }
}
@media(max-width:767px) {
  .pp-grid.pm-grid-two { grid-template-columns:1fr; }
}
@media(max-width:575px) {
  .pm-budget-section { padding:32px 0; }
  .pm-budget-panel { padding:28px 22px; }
  .pm-board { padding:20px 16px; }
  .pm-budget-stats { grid-template-columns:1fr; gap:12px; }
  .pm-budget-stats div { display:flex; justify-content:space-between; gap:16px; align-items:baseline; }
  .pm-budget-stats dd { margin:0; white-space:nowrap; }
  .pm-document-flow { grid-template-columns:1fr; }
}

.cp-hero { position:relative; }
.cp-agent-heading { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.cp-agent-heading > i { display:inline-flex; flex:0 0 40px; align-items:center; justify-content:center; width:40px; height:40px; border-radius:12px; color:var(--pp-bright); background:rgba(255,255,255,.08); font-size:22px; }
.pp-card .cp-agent-heading h3 { min-width:0; margin:0; }
.cp-hero-eyebrow { display:flex; gap:14px; align-items:center; margin-bottom:24px; }
.cp-hero-eyebrow .cp-spark { flex:0 0 40px; width:40px; height:40px; margin-bottom:0; border-radius:12px; font-size:28px; }
.cp-hero-eyebrow .pp-eyebrow { margin-bottom:0; }
.cp-spark { display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; margin-bottom:24px; border-radius:20px; background:linear-gradient(135deg,#252731,#545370); color:var(--pp-bright); font-size:40px; }
.cp-saas { padding:24px 0 0; background:#fff; }
.cp-saas-panel { display:grid; grid-template-columns:56px minmax(0,1fr); gap:24px; padding:30px; border:1px solid var(--pp-accent); border-radius:20px; background:var(--pp-soft); }
.cp-saas-panel > i { display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:16px; background:#fff; color:var(--pp-accent); font-size:29px; }
.cp-saas-panel h2 { margin:0 0 14px; font-size:26px; font-weight:750; line-height:1.3; }
.cp-saas-panel p { margin:0; color:#535966; font-size:16px; line-height:1.7; }
.pp-grid.cp-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cp-dark-note { margin:24px 0 0; color:rgba(255,255,255,.74); font-size:14px; line-height:1.65; }
.cp-teaser { --cp-accent:#c7ff3d; --cp-ink:#293900; padding:12px 0 64px; }
html[lang="en-US"] .cp-teaser { --cp-accent:#ffacb5; --cp-ink:#541721; }
.cp-teaser-panel { display:grid; grid-template-columns:90px minmax(0,1fr); gap:30px; align-items:center; padding:clamp(28px,4vw,48px); border:1px solid #646277; border-radius:24px; background:linear-gradient(120deg,#252731 45%,#43405b); box-shadow:0 18px 46px rgba(32,33,43,.13); color:#fff; }
.cp-teaser-icon { display:inline-flex; align-items:center; justify-content:center; width:90px; height:90px; border:1px solid rgba(255,255,255,.25); border-radius:26px; background:rgba(255,255,255,.06); color:var(--cp-accent); font-size:60px; }
.cp-teaser-eyebrow { display:block; margin-bottom:12px; color:var(--cp-accent); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.cp-teaser h2 { margin:0 0 16px; color:#fff; font-size:clamp(27px,3.2vw,40px); font-weight:750; line-height:1.2; }
.cp-teaser p { width:100%; max-width:none; margin:0; color:rgba(255,255,255,.8); font-size:16px; line-height:1.7; }
.cp-teaser-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; margin-top:24px; padding:12px 22px; border-radius:999px; background:var(--cp-accent); color:var(--cp-ink); font-weight:750; text-align:center; }
.cp-teaser-button:hover { background:#fff; color:#252731; }
.cp-teaser-button:focus-visible { outline:3px solid var(--cp-accent); outline-offset:5px; }
@media(max-width:767px) { .pp-grid.cp-two { grid-template-columns:1fr; } .cp-teaser-panel,.cp-saas-panel { grid-template-columns:1fr; gap:20px; padding:28px 22px; } .cp-teaser-icon { width:64px; height:64px; font-size:44px; border-radius:20px; } }
@media(max-width:480px) { .cp-teaser-button { width:100%; } }

.pp-page { --pp-accent:#63851a; --pp-bright:#c7ff3d; --pp-soft:#f3f8e9; color:#272a35; }
html[lang="en-US"] .pp-page { --pp-accent:#a62436; --pp-bright:#ffacb5; --pp-soft:#fdf0f2; }
.pp-page section[id] { scroll-margin-top:88px; }
.pp-hero { padding:52px 0 30px; background:#f5f6f8; }
.pp-hero-panel,.pp-dark-panel,.pp-next { padding:clamp(28px,4.5vw,54px); border-radius:26px; }
.pp-hero-panel { border:1px solid #e1e5e9; background:linear-gradient(135deg,#fff 50%,var(--pp-soft)); box-shadow:0 18px 45px rgba(32,33,43,.07); }
.pp-eyebrow { display:block; margin-bottom:16px; color:var(--pp-accent); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.pp-hero h1 { margin:0 0 22px; font-size:clamp(34px,4.4vw,58px); font-weight:750; line-height:1.1; letter-spacing:-.025em; }
.pp-lead { width:100%; max-width:none; margin:0; color:#575c69; font-size:17px; line-height:1.75; }
.pp-actions,.pp-links { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:28px; }
.pp-button { display:inline-flex; justify-content:center; align-items:center; gap:10px; padding:12px 20px; border:1px solid var(--pp-accent); border-radius:999px; color:var(--pp-accent); font-size:15px; font-weight:750; text-align:center; }
.pp-primary { background:var(--pp-accent); color:#fff; }
.pp-button:hover { border-color:#252731; background:#252731; color:#fff; }
.pp-page a:focus-visible { outline:3px solid var(--pp-accent); outline-offset:5px; }
.pp-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; padding-top:28px; border-top:1px solid #dfe5da; }
.pp-pillars span { display:flex; align-items:center; gap:12px; font-weight:700; }
.pp-pillars i { color:var(--pp-accent); font-size:25px; }
.pp-section { padding:68px 0; }
.pp-section h2 { margin:0 0 20px; font-size:clamp(28px,3.5vw,42px); font-weight:750; line-height:1.2; letter-spacing:-.015em; }
.pp-highlight { padding-top:30px; background:#f5f6f8; }
.pp-dark-panel { background:#252731; color:#fff; }
.pp-dark-panel .pp-eyebrow { color:var(--pp-bright); }
.pp-dark-panel .pp-lead { color:rgba(255,255,255,.8); }
.pp-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:30px; }
.pp-card { display:flex; flex-direction:column; padding:26px; border:1px solid #e1e5ea; border-radius:18px; background:#fff; }
.pp-card > i { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; margin-bottom:22px; border-radius:13px; color:var(--pp-accent); background:var(--pp-soft); font-size:23px; }
.pp-card h3 { margin:0 0 12px; font-size:20px; font-weight:750; line-height:1.3; }
.pp-card p { margin:0; color:#575c69; font-size:15px; line-height:1.7; }
.pp-card .pp-link { margin-top:auto; padding-top:20px; }
.pp-dark-panel .pp-card { border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.05); }
.pp-dark-panel .pp-card > i { color:var(--pp-bright); background:rgba(255,255,255,.08); }
.pp-dark-panel .pp-card p { color:rgba(255,255,255,.78); }
.pp-process { margin-top:36px; padding-top:28px; border-top:1px solid rgba(255,255,255,.18); }
.pp-process h3 { font-size:24px; font-weight:700; line-height:1.3; }
.pp-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0 18px; padding:0; list-style:none; }
.pp-flow li { position:relative; padding:20px 32px 20px 18px; border:1px solid rgba(255,255,255,.2); border-radius:14px; }
.pp-step { display:block; margin-bottom:12px; color:var(--pp-bright); font-size:13px; font-weight:800; }
.pp-flow strong { font-size:16px; line-height:1.4; }
.pp-flow li > i { position:absolute; right:12px; top:20px; color:var(--pp-bright); }
.pp-process > p { margin:0; color:rgba(255,255,255,.7); font-size:13px; line-height:1.6; }
.pp-link { display:inline-flex; align-items:center; gap:8px; color:var(--pp-accent); font-size:14px; font-weight:700; }
.pp-link:hover { color:#252731; text-decoration:underline; }
.pp-dark-panel > .pp-link { margin-top:24px; color:var(--pp-bright); }
.pp-dark-panel a:focus-visible { outline-color:var(--pp-bright); }
.pp-links { gap:16px 30px; }
.pp-delivery { background:#f5f6f8; }
.pp-note { margin:26px 0 0; color:#575c69; font-size:14px; line-height:1.7; }
.pp-next { border:1px solid #dfe5da; background:var(--pp-soft); }
@media(max-width:991px) { .pp-flow { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .pp-grid,.pp-pillars,.pp-flow { grid-template-columns:1fr; } .pp-section { padding:48px 0; } .pp-highlight { padding-top:24px; } .pp-hero { padding-top:32px; } .pp-flow li > i { transform:rotate(90deg); } .pp-card { padding:24px; } }
@media(max-width:480px) { .pp-button { width:100%; } .pp-hero-panel,.pp-dark-panel,.pp-next { padding:28px 22px; } }

/* Bridge to Cloud 3 promotion */
.btc-promo { --btc-accent:#63851a; --btc-soft:#f3f8e9; --btc-bright:#c7ff3d; padding:36px 0; scroll-margin-top:88px; }
html[lang="en-US"] .btc-promo { --btc-accent:#a62436; --btc-soft:#fdf0f2; --btc-bright:#ffacb5; }
.btc-panel { padding:clamp(26px,4vw,46px); border:1px solid var(--btc-accent); border-radius:24px; background:linear-gradient(130deg,var(--btc-soft),#fff 70%); box-shadow:0 14px 38px rgba(32,33,43,.06); }
.btc-heading { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:center; gap:32px; }
.btc-discount { display:flex; flex-direction:column; justify-content:center; min-height:180px; padding:22px; border-radius:20px; background:#252731; color:var(--btc-bright); }
.btc-discount strong { display:block; font-size:70px; font-weight:800; line-height:1; letter-spacing:-.05em; }
.btc-discount strong span { font-size:38px; }
.btc-discount > span { margin-top:14px; font-size:13px; font-weight:650; line-height:1.4; }
.btc-eyebrow { display:block; margin-bottom:12px; color:var(--btc-accent); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.btc-copy h2 { margin:0 0 16px; color:#252731; font-size:clamp(27px,3vw,38px); font-weight:750; line-height:1.2; }
.btc-copy p { width:100%; max-width:none; margin:0; color:#535966; font-size:16px; line-height:1.7; }
.btc-facts { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:26px; color:#353b45; font-size:15px; font-weight:700; }
.btc-facts i { margin-right:5px; color:var(--btc-accent); }
.btc-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:24px; }
.btc-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 20px; border:1px solid var(--btc-accent); border-radius:999px; color:var(--btc-accent); font-weight:750; text-align:center; }
.btc-primary { background:var(--btc-accent); color:#fff; }
.btc-button:hover { border-color:#252731; background:#252731; color:#fff; }
.btc-source { color:var(--btc-accent); font-size:14px; font-weight:700; }
.btc-source:hover { color:#252731; text-decoration:underline; }
.btc-note { margin:20px 0 0; color:#5f6470; font-size:13px; line-height:1.6; }
.btc-terms { margin-top:22px; padding-top:20px; border-top:1px solid #dce1d7; color:#535966; font-size:14px; line-height:1.65; }
.btc-terms summary { color:#353b45; font-weight:750; cursor:pointer; }
.btc-terms ul { margin:16px 0; padding-left:22px; }
.btc-terms li + li { margin-top:8px; }
.btc-terms p { margin:0; }
.btc-promo a:focus-visible,.btc-terms summary:focus-visible { outline:3px solid var(--btc-accent); outline-offset:4px; }
.btc-teaser { margin-top:26px; padding:26px; border:1px solid var(--migration-accent); border-radius:18px; background:rgba(255,255,255,.045); }
.btc-teaser .btc-eyebrow { color:var(--migration-accent); }
.btc-teaser h3 { margin:0 0 12px; color:#fff; font-size:24px; font-weight:750; line-height:1.3; }
.btc-teaser p { margin:0; color:rgba(255,255,255,.78); font-size:15px; line-height:1.7; }
.btc-teaser a { display:inline-flex; align-items:center; gap:10px; margin-top:18px; color:var(--migration-accent); font-weight:750; }
.btc-teaser a:hover { color:#fff; text-decoration:underline; }
.btc-teaser a:focus-visible { outline:3px solid var(--migration-accent); outline-offset:4px; }
@media(max-width:767px) { .btc-heading { grid-template-columns:1fr; gap:24px; } .btc-discount { min-height:0; flex-direction:row; align-items:center; gap:22px; } .btc-discount > span { margin:0; } .btc-panel { padding:26px 22px; } .btc-teaser { padding:24px; } }
@media(max-width:480px) { .btc-button { width:100%; } .btc-discount strong { font-size:60px; } }

.pbi-page { --pbi-accent:#6a8e1c; --pbi-bright:#c7ff3d; --pbi-soft:#f3f8e9; --pbi-ink:#272a35; color:var(--pbi-ink); }
html[lang="en-US"] .pbi-page { --pbi-accent:#a62436; --pbi-bright:#ffacb5; --pbi-soft:#fdf0f2; }
.pbi-page section[id] { scroll-margin-top:88px; }
.pbi-hero { padding:52px 0 30px; background:#f5f6f8; }
.pbi-hero-panel { overflow:hidden; border:1px solid #e2e5e9; border-radius:26px; background:#fff; box-shadow:0 18px 45px rgba(32,33,43,.07); }
.pbi-hero-copy { padding:clamp(28px,4.5vw,54px); }
.pbi-eyebrow { display:block; margin-bottom:16px; color:var(--pbi-accent); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.pbi-hero h1 { margin:0 0 22px; font-size:clamp(34px,4.4vw,58px); font-weight:750; line-height:1.1; letter-spacing:-.025em; }
.pbi-hero-copy > p,.pbi-lead { width:100%; max-width:none; margin:0; color:#575c69; font-size:17px; line-height:1.75; }
.pbi-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.pbi-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 20px; border:1px solid var(--pbi-accent); border-radius:999px; color:var(--pbi-accent); font-size:15px; font-weight:750; text-align:center; }
.pbi-primary { background:var(--pbi-accent); color:#fff; }
.pbi-button:hover { background:var(--pbi-ink); border-color:var(--pbi-ink); color:#fff; }
.pbi-page a:focus-visible { outline:3px solid var(--pbi-accent); outline-offset:5px; }
.pbi-hero-figure { margin:0; padding:0 clamp(28px,4.5vw,54px) 28px; }
.pbi-hero-figure img { display:block; width:100%; height:auto; border:1px solid #e2e5e9; border-radius:14px; }
.pbi-hero-figure figcaption { margin-top:12px; color:#626774; font-size:12px; line-height:1.5; }
.pbi-section { padding:68px 0; }
.pbi-section h2 { margin:0 0 20px; font-size:clamp(28px,3.5vw,42px); font-weight:750; line-height:1.18; letter-spacing:-.015em; }
.pbi-highlight { padding-top:30px; background:#f5f6f8; }
.pbi-dark-panel { padding:clamp(28px,4.5vw,54px); border-radius:26px; background:#252731; color:#fff; }
.pbi-dark-panel .pbi-eyebrow { color:var(--pbi-bright); }
.pbi-dark-panel .pbi-lead { color:rgba(255,255,255,.8); }
.pbi-grid { display:grid; gap:18px; margin-top:30px; }
.pbi-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pbi-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pbi-card { padding:26px; border:1px solid #e1e5ea; border-radius:18px; background:#fff; }
.pbi-card > i { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; margin-bottom:22px; border-radius:13px; background:var(--pbi-soft); color:var(--pbi-accent); font-size:23px; }
.pbi-card h3 { margin:0 0 12px; font-size:19px; font-weight:750; line-height:1.3; }
.pbi-card p,.pbi-apps p { margin:0; color:#575c69; font-size:15px; line-height:1.7; }
.pbi-dark-panel .pbi-card { border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.05); }
.pbi-dark-panel .pbi-card p,.pbi-apps p { color:rgba(255,255,255,.78); }
.pbi-dark-panel .pbi-card > i { background:rgba(255,255,255,.08); color:var(--pbi-bright); }
.pbi-source { display:inline-flex; gap:8px; margin-top:24px; color:var(--pbi-accent); font-size:14px; font-weight:700; }
.pbi-source:hover { color:var(--pbi-ink); text-decoration:underline; }
.pbi-dark-panel .pbi-source { color:var(--pbi-bright); }
.pbi-dark-panel a:focus-visible { outline-color:var(--pbi-bright); }
.pbi-apps { margin-top:32px; padding-top:30px; border-top:1px solid rgba(255,255,255,.18); }
.pbi-apps h3 { margin:0 0 14px; font-size:24px; font-weight:700; line-height:1.3; }
.pbi-setup { background:#f5f6f8; }
.pbi-next-panel { padding:clamp(28px,4.5vw,54px); border:1px solid #dfe5da; border-radius:24px; background:var(--pbi-soft); }
@media(max-width:1100px) { .pbi-four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .pbi-section { padding:48px 0; } .pbi-highlight { padding-top:24px; } .pbi-three,.pbi-four { grid-template-columns:1fr; } .pbi-card { padding:24px; } .pbi-hero { padding-top:32px; } }
@media(max-width:480px) { .pbi-button { width:100%; } .pbi-hero-copy,.pbi-dark-panel,.pbi-next-panel { padding:28px 22px; } .pbi-hero-figure { padding:0 22px 24px; } }

.customer-relations { --relations-accent:#c7ff3d; --relations-ink:#293900; padding:64px 0 80px; background:#f5f6f8; scroll-margin-top:88px; }
html[lang="en-US"] .customer-relations { --relations-accent:#ffacb5; --relations-ink:#541721; }
.customer-relations-panel { padding:clamp(28px,4.5vw,54px); border-radius:24px; background:#252731; color:#fff; box-shadow:0 20px 50px rgba(32,33,43,.12); }
.customer-relations-eyebrow { display:block; margin-bottom:16px; color:var(--relations-accent); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.customer-relations-panel h2 { margin:0 0 20px; color:#fff; font-size:clamp(28px,3.5vw,42px); font-weight:750; line-height:1.2; }
.customer-relations-intro { width:100%; max-width:none; margin:0; color:rgba(255,255,255,.8); font-size:17px; line-height:1.7; }
.customer-relations-contact { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; margin-top:30px; padding-top:28px; border-top:1px solid rgba(255,255,255,.16); }
.customer-relations-contact > div { min-width:0; }
.customer-relations-contact span { display:block; margin-bottom:8px; color:rgba(255,255,255,.72); font-size:14px; }
.customer-relations-email { color:var(--relations-accent); font-size:clamp(20px,2.5vw,28px); font-weight:700; overflow-wrap:anywhere; }
.customer-relations-email:hover { color:#fff; text-decoration:underline; }
.customer-relations-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 20px; border:1px solid var(--relations-accent); border-radius:999px; background:var(--relations-accent); color:var(--relations-ink); font-weight:750; text-align:center; }
.customer-relations-button:hover { border-color:#fff; background:#fff; color:#252731; }
.customer-relations-panel a:focus-visible { outline:3px solid var(--relations-accent); outline-offset:5px; }
.customer-relations-note { margin:24px 0 0; color:rgba(255,255,255,.72); font-size:14px; line-height:1.65; }
@media(max-width:575px) { .customer-relations { padding:48px 0 60px; } .customer-relations-panel { padding:28px 22px; } .customer-relations-contact { align-items:stretch; flex-direction:column; } .customer-relations-button { width:100%; } }
