

@font-face {
	font-family: "Myriad Pro Light";
	font-style: normal;
	font-weight: 300 400;
	font-display: swap;
	src: url("https://doit.gmbh/wp-content/uploads/fonts/MyriadPro-Light-optimized.woff2") format("woff2");
}
@font-face {
	font-family: "Myriad Pro Semibold";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("https://doit.gmbh/wp-content/uploads/fonts/MyriadPro-Semibold-optimized.woff2") format("woff2");
}

/* Shared homepage components, extracted from the central theme stylesheet. 2026-11-12. */
:root { --doit-green: #aed535; --doit-green-light: #d7ea6c; --doit-gray: #707070; --doit-gray-light: #a1a1a1; --doit-green-strong: #9fc131; --doit-ink: #0d2433; --doit-charcoal: #171e26; --doit-surface: #ffffff; --doit-surface-soft: #f4f6f7; --doit-border: #dce2e5; --doit-text: #263845; --doit-text-muted: #5e6c75; --doit-content-width: 1380px; --doit-reading-width: 760px; --doit-section-space: clamp(72px, 8vw, 128px); --doit-gutter: 56px; --doit-subpage-hero-height: 716px; }
:root { --doit-content-axis: 5vw; }
@media (min-width: 1180px) {
:root { --doit-content-axis: max(5vw, calc((100vw - 1290px) / 2)); }
}
@media (max-width: 689px) {
:root { --doit-content-axis: 6vw; }
}
@media (min-width: 1180px) {
body.doit-has-editor-hero, body.home { --doit-content-axis: max(56px, calc((100vw - 1500px) / 2 + 56px)); }
}
@media (min-width: 690px) and (max-width: 999px) {
body.home { --doit-content-axis: calc(5vw + 28px); }
}
@media (max-width: 689px) {
body.home { --doit-content-axis: calc(6vw + 16px); }
}
body.home .doit-page section > .doit-shell { box-sizing: border-box; width: calc(100% - 2 * var(--doit-content-axis)) !important; max-width: none !important; margin-inline: auto !important; padding-inline: 0px !important; }
body.home .doit-page .doit-footer-shell { box-sizing: border-box; max-width: none; padding-inline: var(--doit-content-axis) !important; }
body .doit-global-footer { padding-inline: var(--doit-content-axis) !important; }
body .doit-global-footer .doit-global-footer__shell.wp-block-group.alignwide { width: 100%; max-width: none; margin-inline: 0px; padding-inline: 0px; }
.doit-global-footer-active .ct-footer { display: none; }
.doit-global-footer { --doit-footer-text: #d8dee6; --doit-footer-muted: #b8c2cc; margin: 0px; padding: 0 var(--doit-gutter); background: rgb(23, 29, 36); color: var(--doit-footer-text); border-top: 1px solid rgba(174, 213, 53, 0.42); }
.doit-global-footer .doit-global-footer__shell.wp-block-group.alignwide { width: min(100%, 1500px); max-width: 1500px; margin-inline: auto; padding: 56px 56px 18px; }
.doit-global-footer__lead { gap: clamp(36px, 6vw, 88px); margin: 0px 0px 25px; }
.doit-global-footer__lead > .wp-block-column:first-child { flex: 1 1 0px; }
.doit-global-footer .doit-global-footer__lead > .wp-block-column.doit-global-footer__brand.is-layout-flow { flex: 0 0 480px; max-width: 480px; }
.doit-global-footer__claim { margin: 0px 0px 8px; color: var(--doit-green); font-family: "Source Sans 3", sans-serif; font-size: clamp(1.35rem, 1.6vw, 1.75rem); font-weight: 600; line-height: 1.25; letter-spacing: 0.06em; }
.doit-global-footer h2 { margin: 0px; color: rgb(255, 255, 255); font-family: Inter, sans-serif; font-size: clamp(2.35rem, 3.2vw, 3rem); font-weight: 300; line-height: 1.04; }
.doit-global-footer__intro { margin: 18px 0px 0px; color: rgb(244, 246, 247); font-family: "Source Sans 3", sans-serif; font-size: clamp(1.25rem, 1.7vw, 1.833rem); font-weight: 400; line-height: 1.35; letter-spacing: 0.02em; }
.doit-global-footer__actions { gap: 14px; margin-top: 26px; }
.doit-global-footer__button .wp-block-button__link { min-height: 50px; padding: 13px 24px; border: 1px solid transparent; border-radius: 6px; font-family: "Myriad Pro Semibold", sans-serif; font-size: 1rem; font-weight: 600; line-height: 1.35; text-decoration: none; transition: background-color 0.16s, border-color 0.16s, box-shadow 0.16s, transform 0.16s; }
.doit-global-footer__button--primary .wp-block-button__link { border-color: var(--doit-green); background: var(--doit-green); color: rgb(16, 32, 51); }
.doit-global-footer__button--secondary .wp-block-button__link { border-color: rgb(255, 255, 255); background: rgb(255, 255, 255); color: rgb(16, 32, 51); }
.doit-global-footer__button .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 24px; }
.doit-global-footer__button .wp-block-button__link:focus-visible { outline: 3px solid var(--doit-green); outline-offset: 3px; }
.doit-global-footer__brand { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-start; }
.doit-global-footer__logo { width: 320px; margin: 0px; }
.doit-global-footer__logo img { display: block; width: 100%; height: auto; }
.doit-global-footer__brand::after { content: ""; display: block; width: 245px; aspect-ratio: 1034 / 327; margin: -29px 92px 0px 0px; background: url("assets/images/doit-footer-handnote-first-talk-cropped.png") center center / contain no-repeat; opacity: 0.72; transform: rotate(-4deg); }
.wp-block-columns.is-layout-flex.doit-global-footer__grid { display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 30px clamp(36px, 4vw, 64px); margin: 0px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, 0.16); }
.doit-global-footer__grid > .wp-block-column { min-width: 0px; }
.doit-global-footer h3 { margin: 0px 0px 16px; color: rgb(255, 255, 255); font-size: 1rem; font-weight: 500; line-height: 1.3; }
.doit-global-footer__grid p { margin: 0px 0px 10px; color: var(--doit-footer-text); font-size: 1rem; line-height: 1.55; }
.doit-global-footer__grid strong { color: rgb(255, 255, 255); font-weight: 600; }
.doit-global-footer a { color: var(--doit-footer-text); text-decoration: none; transition: color 0.14s; }
.doit-global-footer a:hover, .doit-global-footer a:focus-visible { color: var(--doit-green); }
.doit-global-footer__bottom { gap: 20px 36px; margin-top: 38px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.12); color: var(--doit-footer-muted); }
.doit-global-footer__bottom p { max-width: 760px; margin: 0px; color: inherit; font-size: 0.875rem; line-height: 1.5; }
@media (min-width: 1000px) {
:root { --doit-content-width: 1388px; }
.doit-global-footer { padding-inline: 0px; }
#header [data-device="desktop"] .site-logo-container { width: 160px; transform: translateY(-9px); }
#header [data-device="desktop"] .site-logo-container > img.default-logo { width: 100%; height: auto; }
.doit-global-footer__bottom p:last-child { margin-right: clamp(20px, 2vw, 32px); }
.doit-global-footer__grid > .wp-block-column:nth-child(2) { }
.doit-global-footer__grid > .wp-block-column:nth-child(3) { }
.doit-global-footer__grid > .wp-block-column:nth-child(4) { transform: translateX(clamp(24px, 2vw, 40px)); }
.doit-global-footer__grid > .wp-block-column:nth-child(5) { transform: translateX(clamp(16px, 2.4vw, 48px)); }
.doit-global-footer__logo img { transform: translateY(-10px); }
}
@media (max-width: 999px) {
.doit-global-footer__lead { display: block; }
.doit-global-footer__brand { justify-content: flex-start; align-items: flex-start; margin-top: 42px; }
.doit-global-footer__brand::after { margin-right: 0px; }
.wp-block-columns.is-layout-flex.doit-global-footer__grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 30px clamp(28px, 3vw, 52px); }
}
@media (max-width: 600px) {
:root { --doit-section-space: 64px; --doit-gutter: 20px; }
.doit-global-footer__shell { padding-block: 44px 12px; }
.doit-global-footer__lead { margin-bottom: 44px; }
.doit-global-footer__actions, .doit-global-footer__button, .doit-global-footer__button .wp-block-button__link { width: 100%; }
.wp-block-columns.is-layout-flex.doit-global-footer__grid { grid-template-columns: 1fr; gap: 32px; }
.doit-global-footer .doit-footer-mobile-redundant { display: none; }
.doit-global-footer__grid a { display: inline-block; padding-block: 8px; }
.doit-global-footer__bottom { display: block; }
.doit-global-footer__bottom p + p { margin-top: 12px; }
}
body { --wp--preset--spacing--20: 8px; --wp--preset--spacing--30: 16px; --wp--preset--spacing--40: 24px; --wp--preset--spacing--50: 48px; --wp--preset--spacing--60: 80px; --wp--preset--spacing--70: 128px; --wp--preset--spacing--80: 200px; --wp--preset--spacing--90: 280px; }
@keyframes doit-process-coin { 
  0% { transform: perspective(700px) rotateY(0deg); }
  100% { transform: perspective(700px) rotateY(-8640deg); }
}
@keyframes doit-record-turn { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes doit-button-attention { 
  0%, 36%, 52%, 100% { transform: scale(1) translateX(0px) rotate(0deg); }
  14%, 30% { transform: scale(1.06) translateX(0px) rotate(0deg); }
  22% { transform: scale(1.015) translateX(0px) rotate(0deg); }
  40%, 44%, 48% { transform: scale(1.035) translateX(-1.5px) rotate(-1deg); }
  42%, 46%, 50% { transform: scale(1.035) translateX(1.5px) rotate(1deg); }
}
#header .menu-item-has-children > .sub-menu { min-width: 280px; background: rgb(245, 244, 239); }
#header .menu-item-has-children > .sub-menu { transform: none; transition: opacity 0.15s, visibility 0.15s; }
@media (min-width: 1000px) {
body.home #header [data-device="desktop"] nav { position: relative; z-index: 41; }
}
.doit-menu-group-label { pointer-events: none; }
.doit-menu-group-title { display: block; padding: 20px 24px 12px; font-family: "Segoe UI", sans-serif; font-size: 18px; line-height: 24px; font-weight: 700; color: rgb(99, 125, 22); text-transform: uppercase; letter-spacing: 0px; white-space: normal; }
.doit-menu-group-label:not(:first-child) { border-top: 1px solid rgb(196, 201, 199); margin-top: 8px; }
#header [data-device="desktop"] .menu-item-45 > .sub-menu { width: 440px; min-width: 440px; max-width: calc(-32px + 100vw); }
[data-device="mobile"] .doit-menu-group-title { display: block; padding: 20px 24px 12px; font-family: "Segoe UI", sans-serif; font-size: 18px; line-height: 24px; font-weight: 700; color: rgb(99, 125, 22); text-transform: uppercase; letter-spacing: 0px; white-space: normal; }
@media (min-width: 1000px) {
#header [data-device="desktop"] #menu-item-45 > .sub-menu.doit-mega-menu { position: fixed !important; top: var(--doit-mega-top,114px) !important; left: 50% !important; right: auto !important; transform: translateX(-50%) translateY(10px) !important; width: min(1120px, -64px + 100vw) !important; min-width: min(1120px, -64px + 100vw) !important; max-width: 1120px !important; padding: 0px !important; border: 1px solid rgba(159, 193, 49, 0.28) !important; border-radius: 0px 0px 14px 14px !important; background: rgb(255, 255, 255) !important; box-shadow: rgba(3, 40, 63, 0.16) 0px 22px 55px !important; overflow: hidden !important; }
#header [data-device="desktop"] #menu-item-45:hover > .sub-menu.doit-mega-menu, #header [data-device="desktop"] #menu-item-45:focus-within > .sub-menu.doit-mega-menu { transform: translateX(-50%) translateY(0px) !important; }
#header .doit-mega-shell { white-space: normal !important; display: grid !important; grid-template-columns: 300px minmax(0px, 1fr) !important; width: 100% !important; padding: 0px !important; margin: 0px !important; }
#header .doit-mega-tabs { padding: 34px 24px; background: rgb(241, 242, 242); border-right: 1px solid rgba(3, 40, 63, 0.1); }
#header .doit-mega-kicker { display: block; margin: 0px 12px 30px; color: rgb(121, 148, 30); font-size: 25px; line-height: 1.25; font-weight: 300; letter-spacing: 0.02em; text-transform: uppercase; white-space: nowrap; }
#header .doit-mega-tab { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 14px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(3, 40, 63, 0.09); border-image: none; background: transparent; color: rgb(3, 40, 63); font: 300 17px / 1.3 "Segoe UI", "Myriad Pro", sans-serif; text-align: left; cursor: pointer; transition: background-color 0.18s, color 0.18s, padding-left 0.18s; }
#header .doit-mega-tab::after { content: "›"; color: rgb(159, 193, 49); font-size: 25px; line-height: 1; }
#header .doit-mega-tab:hover, #header .doit-mega-tab:focus-visible { background: rgb(227, 230, 231); padding-left: 18px; outline: none; }
#header .doit-mega-tab[aria-selected="true"] { background: rgb(255, 255, 255); color: rgb(3, 40, 63); font-weight: 500; padding-left: 18px; box-shadow: rgb(159, 193, 49) 3px 0px 0px inset; }
#header .doit-mega-content { padding: 34px 38px 28px; background: rgb(255, 255, 255); min-height: 360px; }
#header .doit-mega-panel { display: none; }
#header .doit-mega-panel.is-active { display: block; }
#header .doit-mega-panel-title { margin: 0px 0px 22px; color: rgb(3, 40, 63); font: 300 25px / 1.25 "Segoe UI", "Myriad Pro", sans-serif; }
#header .doit-mega-links { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px 18px; }
#header .doit-mega-link { grid-template-columns: 44px minmax(0px, 1fr); gap: 14px; align-items: start; border: 1px solid transparent; border-radius: 10px; transition: background-color 0.18s, border-color 0.18s, transform 0.18s; display: grid !important; padding: 14px !important; color: rgb(3, 40, 63) !important; text-decoration: none !important; }
#header .doit-mega-link:hover, #header .doit-mega-link:focus-visible { background: rgb(241, 242, 242); border-color: rgba(159, 193, 49, 0.45); transform: translateY(-2px); outline: none; }
#header .doit-mega-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(159, 193, 49, 0.55); border-radius: 9px; color: rgb(145, 181, 29); background: rgb(255, 255, 255); }
#header .doit-mega-icon svg { width: 23px; height: 23px; fill: none; stroke: currentcolor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#header .doit-mega-link-copy { display: block; min-width: 0px; }
#header .doit-mega-link-title { display: block; margin: 0px 0px 4px; font: 500 16px / 1.25 "Segoe UI", "Myriad Pro", sans-serif; color: rgb(3, 40, 63); }
#header .doit-mega-link-desc { display: block; font: 300 13.5px / 1.42 "Segoe UI", "Myriad Pro", sans-serif; color: rgb(83, 97, 106); }
#header .doit-mega-all { align-items: center; gap: 8px; margin-top: 24px; font: 500 14px / 1.4 "Segoe UI", "Myriad Pro", sans-serif; display: inline-flex !important; padding: 0px !important; color: rgb(99, 125, 22) !important; text-decoration: none !important; }
#header .doit-mega-all::after { content: "→"; transition: transform 0.18s; }
#header .doit-mega-all:hover::after { transform: translateX(4px); }
}
@media (min-width: 1180px) {
body.home .doit-page .doit-review-card:hover, body.home .doit-page .doit-review-card:focus-within { background: rgb(228, 231, 232) !important; }
}
@media (min-width: 1000px) {
#header [data-device="desktop"] #menu-item-45 { position: relative; }
#header [data-device="desktop"] #menu-item-45::after { content: ""; position: absolute; left: -18px; top: 100%; width: calc(100% + 36px); height: 48px; background: transparent; pointer-events: auto; }
}
html body.home #header { font-family: "Myriad Pro Light", sans-serif !important; }
@media (min-width: 1180px) {
html body.home #header, html body.home #header [data-device="desktop"], html body.home #header [data-device="desktop"] [data-row="middle"] { height: 114px !important; min-height: 0px !important; }
html body.home #header [data-device="desktop"] [data-row="middle"], html body.home #header [data-device="desktop"] .ct-container { align-items: center !important; height: 114px !important; min-height: 0px !important; grid-template-rows: 114px !important; }
html body.home #header [data-device="desktop"] .ct-container { width: 100% !important; max-width: 1500px !important; padding-left: var(--doit-gutter) !important; padding-right: 0px !important; }
html body.home #header [data-device="desktop"] .site-logo-container { width: 160px !important; transform: translateY(-9px) !important; }
html body.home #header nav#header-menu-1 { align-items: center !important; justify-content: flex-end !important; width: auto !important; height: auto !important; min-height: 0px !important; min-width: min(855px, -520px + 100vw) !important; margin: 0px !important; position: relative !important; left: -10px !important; top: 5px !important; transform: none !important; }
html body.home #header nav#header-menu-1 ul.menu { align-items: center !important; justify-content: flex-end !important; width: 100% !important; height: auto !important; min-height: 0px !important; }
html body.home #header nav#header-menu-1 ul.menu > li > a.ct-menu-link { padding-inline: 13px !important; font-family: "Source Sans 3", sans-serif !important; font-size: 18px !important; font-weight: 600 !important; line-height: 1.25 !important; }
html body.home #header .doit-header-phone-link { font-family: "Source Sans 3", sans-serif !important; font-size: 18px !important; font-weight: 600 !important; }
html body.home #header .ct-header-search { --icon-size: 22px; width: 28px !important; height: 28px !important; transform: translateY(5px) !important; }
}
body.home.doit-global-footer-active .doit-page .doit-site-footer { display: none !important; }
.doit-global-footer { font-family: "Source Sans 3", sans-serif; font-weight: 400; }
.doit-global-footer h3 { color: var(--doit-green-light) !important; font-family: "Source Sans 3", sans-serif !important; font-weight: 400 !important; }
.doit-global-footer__grid p, .doit-global-footer__grid a { font-family: "Source Sans 3", sans-serif !important; font-weight: 400 !important; }
.doit-global-footer__brand::after { background-image: url("/wp-content/uploads/2026/07/doit-footer-handnote-first-talk-cropped.png"); opacity: 0.6; }
.doit-global-footer__button .wp-block-button__link { border-radius: 10px; }
body.home .entry-content > .doit-page { margin-bottom: 0px !important; }
@keyframes doit-work-story-detail-settle { 
  0% { transform: scaleX(var(--detail-flip, 1)) scale(1.045); }
  100% { transform: scaleX(var(--detail-flip, 1)) scale(1.025); }
}
@keyframes doit-topic-cube-enter { 
  0% { opacity: 0; transform: translateX(18%) rotateY(55deg) scale(0.97); }
  100% { opacity: 1; transform: translateX(0px) rotateY(0deg) scale(1); }
}
@keyframes doit-topic-cube-leave { 
  0% { opacity: 1; transform: translateX(0px) rotateY(0deg) scale(1); }
  100% { opacity: 0; transform: translateX(-18%) rotateY(-55deg) scale(0.97); }
}
.doit-process-heading { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(220px, 0.55fr); align-items: center; gap: clamp(24px, 4vw, 64px); }
body .doit-page .doit-process-heading > .doit-handwritten-note { margin: 0px; max-width: 100%; font-family: "doIT Handnote", "Segoe Print", cursive; font-size: clamp(30px, 2.8vw, 44px); font-weight: 500; line-height: 1.15; color: rgb(40, 73, 87); transform: rotate(-4deg); text-align: center; }
@media (max-width: 760px) {
.doit-process-heading { grid-template-columns: minmax(0px, 1fr); gap: 24px; }
body .doit-page .doit-process-heading > .doit-handwritten-note { justify-self: start; text-align: left; font-size: 32px; margin: 0px 8px 8px; }
}
/* Services-logo artwork: optical alignment within existing header row. */
.site-logo-container .doit-services-logo{translate:0 -6px}
@media(max-width:899px){.site-logo-container .doit-services-logo{translate:0 -2px}}
