/* Supplied decorative assets. Real photographs, content, and CMS bindings stay intact. */
.home {--blue:#004aad}
.home .section-title>span[lang=en] {font-weight:800;letter-spacing:-.035em}
.home .about {position:relative}
.home .about .split-image {box-shadow:22px 22px 0 #edf5fc}
.home .eyebrow {letter-spacing:.16em}
.home .business {background:#edf5fc;color:#173655;position:relative}
.home .business-heading .eyebrow,.home .business-heading h2 {color:#004aad}
.home .business-card {background:white;border-bottom:3px solid #004aad}
.home .business-copy {padding:30px clamp(22px,3vw,42px) 32px;position:relative}
.home .business-label {color:#004aad;padding-right:95px;min-height:48px}
.home .business-label>span:first-child {font-size:32px;font-weight:700;border-color:#b9d3ec}
.home .business-copy::before {content:'';position:absolute;top:16px;right:22px;width:100px;height:68px;background:center/contain no-repeat;pointer-events:none}
.home #construction .business-copy::before {background-image:url('design-20261018/illustration-01.png')}
.home #civil .business-copy::before {background-image:url('design-20261018/illustration-02.png')}
.home .business-copy h3,.home .business-copy .text-cta {color:#004aad}
.home .business-copy .text-cta {border-color:#b9d3ec}
.home .business-description {max-width:none}
.home .tide-copy {background:#eaf9fc url('design-20261018/wave-02.png') bottom center/100% auto no-repeat}
.home .recruit .split-copy {background:#f0f6fc;position:relative;border-bottom:4px solid #004aad}
.home .recruit .eyebrow {font-size:clamp(24px,3.5vw,52px);font-style:italic;letter-spacing:-.025em;font-weight:800}
.home .news-row {border-color:#c9dded}
.home .work-filter button {border-radius:30px}
/* TIDE ROOM: fine waves, generous white space, and blue line icons. */
.tr-site {--tr-blue:#004aad}
.tr-site .tr-concept {border-bottom:1px solid #d6eff5}
.tr-site .tr-concept .tr-waves {background:url('design-20261018/wave-01.png') center/contain no-repeat;height:100px}
.tr-site .tr-concept .tr-waves>* {visibility:hidden}
.tr-site .tr-contact {background:#eaf8fc url('design-20261018/wave-02.png') bottom center/100% auto no-repeat}
.tr-site .tr-contact>.tr-waves {visibility:hidden}
.tr-site .tr-concept-copy h2 {font-style:italic;letter-spacing:-.04em}
.tr-site .tr-services article {border-bottom:1px solid #8fc5df;padding-bottom:26px}
.tr-site .tr-services article>h3 {font-size:clamp(22px,2vw,29px)}
.tr-site .tr-first-card {background:#fff;border:0;border-top:2px solid #004aad;box-shadow:0 10px 30px #004aad09}
.tr-site .tr-first-card svg {display:none}
.tr-site .tr-first-card::before {content:'';display:block;width:90px;height:90px;margin-bottom:24px;background:url('design-20261018/tide-step-03.png') center/contain no-repeat}
.tr-site .tr-first-card:last-child::before {background-image:url('design-20261018/tide-step-01.png')}
.tr-site .tp-flow li {display:grid;grid-template-columns:46px 52px minmax(0,1fr);column-gap:18px;align-items:start}
.tr-site .tp-flow li::after {content:'';width:52px;height:58px;grid-column:2;grid-row:1;background:center/contain no-repeat}
.tr-site .tp-flow li>div {grid-column:3;grid-row:1}
.tr-site .tp-flow li:nth-child(1)::after {background-image:url('design-20261018/tide-step-01.png')}
.tr-site .tp-flow li:nth-child(2)::after {background-image:url('design-20261018/tide-step-02.png')}
.tr-site .tp-flow li:nth-child(3)::after {background-image:url('design-20261018/tide-step-03.png')}
.tr-site .tp-flow li:nth-child(4)::after {background-image:url('design-20261018/tide-step-04.png')}
.tr-site .tp-flow li:nth-child(5)::after {background-image:url('design-20261018/tide-step-05.png')}
.tr-site .tp-flow li:nth-child(6)::after {background-image:url('design-20261018/tide-step-06.png')}
.tr-site .tp-flow li:nth-child(7)::after {background-image:url('design-20261018/tide-step-07.png')}
.tr-site .tp-flow li:nth-child(8)::after {background-image:url('design-20261018/tide-step-08.png')}
/* Recruitment: retain the opening and independent scrolling layout. */
.recruit-shell {--rc-ink:#004aad;--rc-deep:#00397f}
.rc-kicker {letter-spacing:.15em}
.rc-growth article {position:relative;background:#f2f7fd;padding:24px 18px;border-top:2px solid #004aad}
.rc-growth article::before {content:'';display:block;width:58px;height:58px;margin-bottom:18px;background:center/contain no-repeat}
.rc-growth article:nth-child(1)::before {background-image:url('design-20261018/recruit-01.png')}
.rc-growth article:nth-child(2)::before {background-image:url('design-20261018/recruit-02.png')}
.rc-growth article:nth-child(3)::before {background-image:url('design-20261018/recruit-03.png')}
.rc-growth article>span {position:absolute;right:18px;top:25px;font-size:30px;color:#94badd}
.rc-benefits article {background:white;border-color:#cfdfed;padding:24px 18px}
.rc-benefit-icon {font-size:0!important;flex:0 0 56px;width:56px;height:60px;background:center/contain no-repeat}
.rc-benefits article:nth-child(1) .rc-benefit-icon {background-image:url('design-20261018/recruit-05.png')}
.rc-benefits article:nth-child(2) .rc-benefit-icon {background-image:url('design-20261018/recruit-06.png')}
.rc-benefits article:nth-child(3) .rc-benefit-icon {background-image:url('design-20261018/recruit-07.png')}
.rc-benefits article:nth-child(4) .rc-benefit-icon {background-image:url('design-20261018/recruit-08.png')}
.rc-subtitle {border-left:0;border-bottom:1px solid #98bee4;padding:0 0 15px}
.rc-company-cards article {border-bottom:1px solid #9abbde;padding-bottom:22px}
.rc-section .rc-display {letter-spacing:-.045em}
.rc-job-tabs button {border-radius:4px 4px 0 0}
@media(max-width:700px){
 .home .about .split-image {box-shadow:12px 12px 0 #edf5fc}
 .home .business-copy {padding:24px 22px 28px}
 .home .business-label {font-size:9px;padding-right:80px;gap:10px}
 .home .business-label>span:first-child {font-size:26px;padding-right:10px}
 .home .business-copy::before {width:82px;height:58px;right:14px;top:18px}
 .tr-site .tp-flow li {grid-template-columns:36px 38px minmax(0,1fr);column-gap:10px}
 .tr-site .tp-flow li::after {width:38px;height:45px}
 .tr-site .tp-flow li>span {width:36px;height:36px;font-size:16px}
 .tr-site .tp-flow::before {left:18px}
 .tr-site .tr-first-card::before {width:70px;height:70px}
 .rc-benefit-icon {flex-basis:42px;width:42px;height:48px}
 .rc-benefits article {padding:18px 12px}
 .rc-growth article {padding:20px 14px}
 .rc-growth article::before {width:42px;height:46px}
 .rc-growth article>span {right:10px;top:22px;font-size:24px}
}
@media(prefers-reduced-motion:reduce){.home .about .split-image{transition:none}}
/* Override the earlier mobile timeline positioning inside growth cards. */
.rc-growth article>span {left:auto;width:auto;height:auto;background:transparent}
