/* Used exclusively by the ITM recipe's layout. Default Daltech is unchanged. */
body.itm-site .itm-office-locations { padding: 56px 0 72px; }
body.itm-site .itm-office-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: start; }
body.itm-site .itm-office-grid .location-office-card { width: 100%; min-width: 0; margin: 0; }
/* Reference-inspired layout; all copy is live, editable HTML. */
body.itm-site .itm-staffing-journey { display: grid; grid-template-columns: minmax(0, 1.96fr) minmax(0, 1fr); gap: 12px; max-width: 1730px; margin: 0 auto; padding: 12px; color: #051449; font-family: "Arial", sans-serif; }
body.itm-site .itm-staffing-journey * { box-sizing: border-box; }
body.itm-site .itm-staffing-journey h1,
body.itm-site .itm-staffing-journey h2,
body.itm-site .itm-staffing-journey h3 { text-transform: none; }
body.itm-site .itm-journey-details { position: relative; overflow: hidden; padding: clamp(36px, 5vw, 86px) 26px 58px; border: 4px solid #18a9ed; border-radius: 24px; background: radial-gradient(circle at 0 0, #e0f3fe 0 12%, transparent 12.1%), radial-gradient(circle at 100% 100%, #e4f5fd 0 10%, transparent 10.1%), linear-gradient(#fff, #faffff); text-align: center; }
body.itm-site .itm-journey-details h1 { max-width: 1000px; margin: 0 auto; font: 800 clamp(32px, 3.8vw, 66px)/1.05 Arial, sans-serif; letter-spacing: -2px; color: #051449; }
body.itm-site .itm-journey-details h1 span { display: block; color: #0068f5; }
body.itm-site .itm-journey-rule { width: 110px; height: 4px; background: #3ec5e9; border-radius: 6px; margin: 22px auto; }
body.itm-site .itm-journey-details > p { max-width: 990px; margin: 0 auto 26px; color: #051449; font-size: clamp(17px, 1.65vw, 28px); line-height: 1.35; }
body.itm-site .itm-journey-details > h2 { max-width: 980px; margin: 34px auto 42px; color: #0067ed; font: 700 clamp(23px, 2.1vw, 36px)/1.15 Arial, sans-serif; letter-spacing: -1px; }
body.itm-site .itm-journey-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
body.itm-site .itm-journey-steps li { position: relative; padding: 0 15px; min-width: 0; }
body.itm-site .itm-journey-steps li + li::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 0; width: 1px; background: #8ed6ed; }
body.itm-site .itm-journey-number { display: block; color: #0089f5; font-size: clamp(44px, 3.6vw, 62px); font-weight: 800; line-height: 1; margin-bottom: 12px; }
body.itm-site .itm-journey-steps h3 { margin: 0 0 12px; color: #051449; font: 700 clamp(17px, 1.45vw, 25px)/1.1 Arial, sans-serif; letter-spacing: -.6px; }
body.itm-site .itm-journey-steps p { margin: 0; color: #051449; font-size: clamp(15px, 1.25vw, 22px); line-height: 1.25; }
body.itm-site .itm-journey-start { position: relative; display: flex; flex-direction: column; align-items: center; overflow: hidden; padding: 40px 34px 0; border-radius: 24px; color: white; background: linear-gradient(145deg, #0c4f88, #093766); text-align: center; }
body.itm-site .itm-journey-brand { display: flex; align-items: center; justify-content: center; gap: 22px; align-self: stretch; padding-bottom: 36px; margin-bottom: 26px; border-bottom: 2px solid #22c1e7; }
body.itm-site .itm-journey-brand img { width: 22%; max-width: 100px; height: auto; filter: brightness(0) invert(1); }
body.itm-site .itm-journey-brand span { font-size: clamp(21px, 2.4vw, 41px); line-height: 1.15; white-space: nowrap; }
body.itm-site .itm-journey-start > h2 { color: white; font: 800 clamp(36px, 4.6vw, 80px)/1 Arial, sans-serif; letter-spacing: -2px; margin: 0 0 26px; }
body.itm-site .itm-journey-start > h2 span { display: block; color: #00c2f8; }
body.itm-site .itm-journey-start > p { color: white; max-width: 450px; font-size: clamp(18px, 1.8vw, 31px); line-height: 1.3; margin: 0 0 32px; }
body.itm-site .itm-journey-cta { display: inline-flex; align-items: center; justify-content: center; gap: 12px; border-radius: 100px; padding: 16px 32px; background: white; color: #06174e; font: 700 clamp(19px, 1.8vw, 31px)/1.2 Arial, sans-serif; text-decoration: none; position: relative; z-index: 1; }
body.itm-site .itm-journey-cta span { color: #0071f9; font-size: 1.4em; line-height: 1; }
body.itm-site .itm-journey-cta:hover { background: #e3f7ff; }
body.itm-site .itm-journey-cta:focus-visible { outline: 4px solid #00c9ff; outline-offset: 5px; }
/* Reuse only the decorative photograph at the bottom-right of the supplied artwork. */
body.itm-site .itm-journey-photo { align-self: stretch; min-height: 0; aspect-ratio: 2 / 1; margin: auto -34px 0; background-repeat: no-repeat; background-size: 320% auto; background-position: right -12px bottom -12px; }
body.itm-site .footer-section .single-footer-widget .widget-head img.itm-footer-logo { filter: none !important; opacity: 1; }
body.itm-site #itm-booking-form { scroll-margin-top: 130px; }
body.itm-site .itm-csr-player { display: block; width: 100%; }
@media (max-width: 767px) {
    body.itm-site .itm-office-grid { grid-template-columns: 1fr; }
    body.itm-site .itm-staffing-journey { padding: 8px; }
    body.itm-site .itm-journey-details { padding: 36px 20px; }
    body.itm-site .itm-journey-details h1 { letter-spacing: -1px; }
    body.itm-site .itm-journey-steps { grid-template-columns: 1fr; gap: 20px; }
    body.itm-site .itm-journey-steps li { padding: 20px 12px 0; }
    body.itm-site .itm-journey-steps li + li::before { top: 0; right: 0; bottom: auto; height: 1px; width: auto; }
    body.itm-site .itm-journey-start { padding: 32px 24px 0; }
    body.itm-site .itm-journey-brand { gap: 14px; }
    body.itm-site .itm-journey-brand span { font-size: 27px; }
    body.itm-site .itm-journey-start > h2 { font-size: 48px; }
    body.itm-site .itm-journey-photo { margin-left: -24px; margin-right: -24px; }
}
@media (max-width: 1050px) {
    body.itm-site .itm-staffing-journey { grid-template-columns: 1fr; }
    body.itm-site .itm-journey-start { padding-top: 36px; }
    body.itm-site .itm-journey-photo { width: calc(100% + 68px); max-height: 340px; margin-top: 24px; }
}
