.rt-hero {
    position: relative;
    min-height: var(--rt-hero-min-height);
    color: var(--rt-white);
    overflow: hidden;
    background: var(--rt-dark);
}

.rt-hero::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset-inline: 0;
    inset-block-end: 0;
    width: 100%;
    height: clamp(190px, 17.66vw, 339px);
    background: url('../../images/hero-logo-pattern.png') center bottom / 100% 100% no-repeat;
    pointer-events: none;
    mix-blend-mode: plus-lighter;
    opacity: 0.2;
}

.rt-hero__media {
    position: absolute;
    z-index: 0;
    inset: 0;
    background-image: var(--rt-hero-background);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.rt-hero__overlay {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: var(--rt-hero-overlay, linear-gradient(180deg, rgba(1,7,11,.2), rgba(1,7,11,.5)));
}

.rt-hero__container {
    position: relative;
    z-index: 3;
    min-height: var(--rt-hero-min-height);
    /* padding-block-start: var(--rt-header-height); */
    display: flex;
    align-items: center;
    flex-direction: inherit;
    /* padding-inline: calc( 2 * var(--rt-container-gutter) ); */
}

.rt-hero__content {
    margin-inline-start: auto;
    margin-inline-end: 0;
    padding-block-end: var(--rt-hero-content-padding-block-end);
    text-align: start;
    min-width: min-content;
    max-width: var(--rt-hero-content-max-width);
    width: min-content;
    display: flex;
    flex-direction: column;
}

.rt-hero__title {
    margin: 0 0 26px;
    line-height: 1.18;
    font-weight: 600;
}

.rt-hero__title span {
    display: block;
    color: var(--rt-primary);
}

.rt-hero__text {
    margin: 0 0 36px;
    color: rgba(255,255,255,.9);
    font-weight: 400;
    line-height: 1.8;
}

.rt-hero__actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 14px;
    max-width: max-content;
}

.rt-hero__actions .rt-btn {
    /* min-width: var(--rt-hero-btn-min-width); */
    /* min-height: var(--rt-hero-btn-min-height); */
    padding-inline: var(--rt-hero-btn-padding-inline);
    font-size: var(--rt-hero-btn-font-size);
    text-wrap-mode: nowrap;
}

.rt-trust-bar {
    position: absolute;
    inset-inline: var(--rt-hero-trust-bar-inset-inline);
    inset-block-end: var(--rt-hero-trust-bar-inset-block-end);
    min-height: var(--rt-hero-trust-bar-min-height);
    padding-block: var(--rt-hero-trust-bar-padding-block);
    padding-inline: var(--rt-hero-trust-bar-padding-inline);
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 0;
    border: 2px solid #172127;
    border-radius: 8px;
    background: rgba(5,13,19,.96);
    max-width: var(--rt-hero-trust-bar-max-width);
    max-width: 100%;
    margin-inline: auto;
}

.rt-trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 22px;
    border-inline-start: 3px solid rgba(255,255,255,.05); text-align: center;
}

.rt-trust-item:first-child {
    border-inline-start: 0; }

.rt-trust-item i {
    color: var(--rt-primary);
    font-size: 2.65rem;
}

.rt-trust-item strong, .rt-trust-item span {
    display: block;
}

.rt-trust-item strong {
    font-size: clamp(1.05rem, 1.45vw, 1.45rem);
    font-weight: 500;
}

.rt-social-rail {
    position: absolute;
    z-index: 4;
    inset-block-start: var(--rt-header-social-inset-block-start);
    inset-inline-start: var(--rt-container-gutter);
    width: var(--rt-header-social-width);
    padding-block: var(--rt-header-social-padding-block);
    padding-inline: var(--rt-header-social-padding-inline);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--rt-header-social-gap);
    border: 3px solid #172127;
    background: rgba(5,13,19,.94);
    border-radius: 8px;
}

.rt-social-rail__label {
    max-width: var(--rt-hero-social-rail-label-max-width);
    font-size: var(--rt-hero-social-rail-label-font-size);
    line-height: var(--rt-hero-social-rail-label-line-height);
    color: var(--rt-white);
    text-align: center;
}

.rt-social-rail__mark {
    width: var(--rt-hero-social-rail-mark-size);
    height: var(--rt-hero-social-rail-mark-size);
    object-fit: contain;
}

.rt-social-rail__separator {
    width: 100%;
    height: 3px;
    background: rgba(255,255,255,.06);
}

.rt-social-rail__links {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--rt-hero-social-rail-gap);
    padding-block: var(--rt-hero-social-rail-padding-block);
    }

.rt-social-rail__links a {
    --btn-size: var();
    --btn-size: var(--rt-hero-social-btn-size);
    height: var(--btn-size);
    width: var(--btn-size);
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: var(--rt-hero-social-btn-font-size);
    transition: var(--rt-transition);
}

.rt-social-rail__links img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.rt-social-rail__links a:hover {
    color: var(--rt-primary);
    background: rgba(255,255,255,.08);
}

.rt-social-rail__contact-group {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    text-align: center;
}

.rt-social-rail__contact {
    width: var(--rt-hero-social-rail-contact-size) !important;
    height: var(--rt-hero-social-rail-contact-size) !important;
    display: grid;
    place-items: center;
    border: 2px solid rgba(255,255,255,.48);
    border-radius: 50%;
    font-size: var(--rt-hero-social-rail-text-font-size);
}

.rt-social-rail__contact-label {
    display: block;
    color: var(--rt-white);
    font-size: var(--rt-hero-social-rail-contact-font-size);
    line-height: 1.45;
}

.rt-home-about {
    position: relative;
    padding-block: 52px 44px; background: var(--rt-white);
    overflow: hidden;
}

.rt-home-about__grid {
    display: flex;
    align-items: center;
    /* gap: clamp(30px, 4vw, 72px); */
}

.rt-home-about__content {
    /* flex: 1 1 43%; */
    flex-grow: 1;
    min-width: 0;
}

.rt-home-about__eyebrow {
    margin: 0 0 10px;
    color: var(--rt-primary);
    line-height: 1.3;
}

.rt-home-about__eyebrow::after {
    content: "";
    display: inline-block;
    width: 13px;
    height: 3px;
    margin-inline-start: 16px; vertical-align: middle;
    background: currentColor;
}

.rt-home-about__title {
    position: relative;
    margin: 0;
    padding-block-end: 20px;
    color: #080808;
    font-weight: 500;
    line-height: 1.25;
}

.rt-home-about__title::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-end: 0;
    width: 40%;
    height: 5px;
    margin-inline: auto;
    background: var(--rt-primary);
}

.rt-home-about__copy {
    /* margin-inline: auto; */
    text-align: start;
}

.rt-home-about__intro {
    margin: 0 0 10px;
}

.rt-home-about__text {
    margin: 0;
    color: #121212;
    line-height: 1.85;
}

.rt-home-about__values {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(12px, 2vw, 30px);
    margin-block-start: 34px; }

.rt-home-about__value {
    min-width: 0;
    text-align: center;
}

.rt-home-about__value img {
    width: auto;
    height: 70px;
    margin-inline: auto; margin-block-end: 12px; object-fit: contain;
}

.rt-home-about__value h3 {
    margin: 0 0 7px;
    color: #111;
    font-weight: 500;
}

.rt-home-about__value p {
    margin: 0 auto;
    color: #777;
    line-height: 1.65;
}

.rt-home-about__visual img {
    width: 100%;
    height: auto;
    object-fit: contain;
    position: relative;
    transform: scale(1.20);
}

.rt-home-services {
    min-height: 568px;
    padding-block: 48px 90px;
    background: var(--rt-surface);
}

.rt-home-row-heading {
    text-align: center;
}

.rt-row__title {
    margin: 0;
    color: var(--rt-primary-dark);
    font-weight: 500;
    line-height: 1.25;
}

.rt-row__divider {
    position: relative;
    width: min(270px, 70vw);
    height: 22px;
    margin-block: 13px 42px;
    margin-inline: auto;
    display: grid;
    place-items: center;
}

.rt-row__divider::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-start: 50%;
    height: 3px;
    background: linear-gradient(90deg, transparent, #777 24%, #777 76%, transparent);
    transform: translateY(-50%);
}

.rt-row__divider span {
    position: relative;
    z-index: 1;
    width: 17px;
    height: 17px;
    display: block;
    border: 2px solid #777;
    background: #fbfbfb;
    transform: rotate(45deg);
}

.rt-row__divider span::after {
    content: "";
    position: absolute;
    inset: 3px;
    border: 1px solid #777;
}

.rt-row__intro {
    max-width: 1040px;
    margin: 0 auto;
    color: #101018;
    font-weight: 400;
    line-height: 1.55;
    text-align: center;
}

.rt-home-services__items {
    display: flex;
    flex-direction: column;
    gap: clamp(100px, 10vw, 208px);
    margin-block-start: 76px;
}

.rt-home-services__item {
    position: relative;
    min-width: 0;
    min-height: 430px;
    display: flex;
    align-items: center;
    gap: clamp(42px, 6vw, 100px);
}

.rt-home-services__item:nth-child(even) {
    flex-direction: row-reverse;
}

.rt-home-services__item::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset-inline-end: calc(-1 * var(--rt-container-gutter));
    inset-block: -42px;
    width: calc(50% + calc(1.3 * var(--rt-container-gutter)));
    background: url(
    '../../images/services-pattern.png') center / 100% 100% no-repeat;
    /* opacity: .2; */
    pointer-events: none;
}

.rt-home-services__item:nth-child(even)::before {
    inset-inline-start: -94px;
    inset-inline-end: auto;
}

.rt-home-services__item > img {
    position: relative;
    z-index: 1;
    flex: 0 1 50%;
    width: 50%;
    /* height: 395px; */
    object-fit: cover;
    border-radius: 20px;
}

.rt-home-services__item-content {
    position: relative;
    z-index: 1;
    flex: 1 1 50%;
    min-width: 0;
    padding-inline: clamp(12px, 2vw, 34px);
}

.rt-home-services__item-content h3 {
    margin: 0 0 20px;
    padding-inline-start: 18px;
    border-inline-start: 5px solid var(--rt-primary-dark);
    color: var(--rt-primary-dark);
    font-size: clamp(1.75rem, 2.2vw, 2.35rem);
    font-weight: 500;
    line-height: 1.35;
}

.rt-home-services__item-content p {
    max-width: 650px;
    margin: 0;
    color: #20232a;
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    line-height: 1.8;
}

.rt-home-services__item-content .rt-btn {
    min-width: 196px;
    margin-block-start: 48px;
}

.rt-home-row-light-contents .rt-row__title,
.rt-home-row-light-contents .rt-row__intro {
    color: var(--rt-white);
}

.rt-home-row-light-contents .rt-row__divider::before {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.72) 24%, rgba(255,255,255,.72) 76%, transparent);
}

.rt-home-row-light-contents .rt-row__divider span {
    border-color: rgba(255,255,255,.82);
    background: var(--rt-dark);
}

.rt-home-row-light-contents .rt-row__divider span::after {
    border-color: rgba(255,255,255,.82);
}

.rt-home-why-us {
    padding-block: 70px 86px;
    color: var(--rt-white);
    background: #030d12;
}

.rt-home-why-us .rt-row__divider span {
    background: #030d12;
}

.rt-home-why-us__heading .rt-row__divider {
    margin-block-end: 76px;
}

.rt-home-why-us__items {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: stretch;
}

.rt-home-why-us__item {
    position: relative;
    min-width: 0;
    padding-inline: clamp(18px, 2vw, 38px);
    text-align: center;
}

.rt-home-why-us__item:not(:last-child)::after {
    content: "";
    position: absolute;
    inset-inline-end: 0;
    inset-block: 26px 10px;
    width: 3px;
    background: rgba(255,255,255,.22);
}

.rt-home-why-us__item:nth-child(6n)::after {
    display: none;
}

.rt-home-why-us__item img {
    width: auto;
    height: 66px;
    margin-inline: auto;
    margin-block-end: 18px;
    object-fit: contain;
}

.rt-home-why-us__item h3 {
    margin: 0 0 14px;
    color: var(--rt-primary);
    font-weight: 500;
    line-height: 1.45;
}

.rt-home-why-us__item p {
    max-width: 230px;
    margin: 0 auto;
    color: rgba(255,255,255,.94);
    line-height: 1.65;
}

.rt-home-portfolio {
    padding-block: 54px 84px;
    background: var(--rt-white);
}

.rt-home-portfolio__heading .rt-row__divider {
    margin-block-end: 68px;
}

.rt-home-portfolio__items {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
}

.rt-home-portfolio__item {
    position: relative;
    min-width: 0;
    aspect-ratio: 1.25 / 1;
    border-radius: 18px;
    overflow: hidden;
    background: var(--rt-dark);
}

.rt-home-portfolio__item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(1,8,12,.78), transparent 48%);
    opacity: 0;
    transition: opacity var(--rt-transition);
}

.rt-home-portfolio__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 500ms ease;
}

.rt-home-portfolio__item h3 {
    position: absolute;
    z-index: 1;
    inset-inline: 18px;
    inset-block-end: 13px;
    margin: 0;
    color: var(--rt-white);
    font-size: 1rem;
    font-weight: 500;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity var(--rt-transition), transform var(--rt-transition);
}

.rt-home-portfolio__item:hover::after,
.rt-home-portfolio__item:hover h3 {
    opacity: 1;
}

.rt-home-portfolio__item:hover img {
    transform: scale(1.04);
}

.rt-home-portfolio__item:hover h3 {
    transform: translateY(0);
}

.rt-home-consultation {
    position: relative;
    min-height: 210px;
    color: var(--rt-white);
    background-image: linear-gradient(90deg, rgba(3,13,18,.98), rgba(3,13,18,.84) 42%, rgba(3,13,18,.24)), var(--rt-consultation-background);
    background-position: center;
    background-size: cover;
    overflow: hidden;
}

.rt-home-consultation__inner {
    min-height: 210px;
    display: flex;
    align-items: center;
}

.rt-home-consultation__content {
    max-width: 720px;
    display: flex;
    flex-direction: column;
}

.rt-home-consultation__content h2 {
    margin: 0 0 2px;
    font-weight: 600;
    line-height: 1.25;
}

.rt-home-consultation__content p {
    margin: 0 0 18px;
    color: rgba(255,255,255,.76);
    line-height: 1.5;
}

.rt-home-consultation__content .rt-btn {
    min-width: max-content;
    margin-inline-start: auto;
}

.rt-about {
    background: var(--rt-white);
}

.rt-about__visual {
    position: relative;
}

.rt-about__visual img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: var(--rt-radius-lg);
    box-shadow: var(--rt-shadow);
}

.rt-about__badge {
    position: absolute;
    inset-inline-end: 24px;
    inset-block-end: 24px;
    padding-block: 14px; padding-inline: 20px; border-radius: var(--rt-radius-sm);
    background: var(--rt-primary);
    color: var(--rt-white);
    font-weight: 700;
}

.rt-values-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
    margin-block-start: 38px; }

.rt-values-grid > div {
    text-align: center;
    padding-block: 20px; padding-inline: 10px; border-block-start: 2px solid var(--rt-primary); background: var(--rt-surface);
    border-radius: 0 0 12px 12px;
}

.rt-values-grid i {
    display: block;
    margin-block-end: 12px; color: var(--rt-primary-dark);
    font-size: 1.65rem;
}

.rt-values-grid strong, .rt-values-grid span {
    display: block;
}

.rt-values-grid span {
    color: var(--rt-muted);
    font-size: .82rem;
}

.rt-services {
    background: var(--rt-surface);
}

.rt-service-featured {
    position: relative;
    min-height: 420px;
    border-radius: var(--rt-radius-lg);
    overflow: hidden;
    color: var(--rt-white);
}

.rt-service-featured::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(2,10,14,.95), rgba(2,10,14,.08) 75%);
}

.rt-service-featured img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transition: transform 600ms ease;
}

.rt-service-featured:hover img {
    transform: scale(1.04);
}

.rt-service-featured__content {
    position: absolute;
    z-index: 2;
    inset-inline: 36px;
    inset-block-end: 34px;
}

.rt-service-featured__content > span {
    color: var(--rt-primary);
    font-size: 1rem;
    font-weight: 800;
}

.rt-service-featured h3 {
    margin: 5px 0 10px;
    font-size: 2.1rem;
}

.rt-service-featured p {
    max-width: 620px;
    color: rgba(255,255,255,.78);
}

.rt-service-featured a {
    color: var(--rt-primary);
    font-weight: 700;
}

.rt-service-card {
    height: 100%;
    min-height: 250px;
    padding: 32px;
    border: 1px solid var(--rt-border);
    border-radius: var(--rt-radius-md);
    background: var(--rt-white);
    transition: var(--rt-transition);
}

.rt-service-card:hover {
    transform: translateY(-7px);
    border-color: rgba(0,180,129,.45);
    box-shadow: var(--rt-shadow);
}

.rt-service-card > i {
    color: var(--rt-primary-dark);
    font-size: 2.1rem;
}

.rt-service-card h3 {
    margin: 22px 0 12px;
    font-size: 1.3rem;
}

.rt-service-card p {
    color: var(--rt-muted);
}

.rt-service-card a {
    color: var(--rt-primary-dark);
    font-weight: 700;
}

.rt-contact-cta {
    padding: 80px 0;
    background: linear-gradient(90deg, rgba(2,10,14,.98), rgba(2,10,14,.82)), url('../../images/service-media.png') center/cover;
    color: var(--rt-white);
}

.rt-contact-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.rt-contact-cta p {
    margin: 0;
    color: var(--rt-primary);
    font-weight: 700;
}

.rt-contact-cta h2 {
    margin: 8px 0 0;
    font-size: clamp(2rem,4vw,3.2rem);
}

.rt-footer {
    padding: 80px 0 24px;
    background: #081018;
    color: rgba(255,255,255,.72);
}

.rt-footer__logo {
    width: clamp(280px,80%,90%);
    max-width: 100%;
    margin-block-end: 10px;
    }

.footer-logo-col {
    /* padding-inline-end: clamp(24px, 3vw, 56px); */
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-logo-col > p {
    /* max-width: clamp(50%,420px,68%); */
    margin-block: 0 22px;
    width: clamp(280px, 80%, 90%);
}

.footer-menu-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-menu-links {
    display: grid;
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    grid-auto-columns: minmax(130px, max-content);
    column-gap: clamp(22px, 2.5vw, 42px);
    align-items: start;
}

.footer-menu-links > a {
    min-width: 0;
}

.footer-menu-col > h3 {
    width: fit-content;
    margin-block-start: 0;
    padding-block-end: 13px;
    border-block-end: 2px solid rgba(0, 180, 129, .55);
}

.footer-contact-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* padding-inline-start: clamp(24px, 3vw, 56px); */
}

.footer-contact-col > h3 {
    width: fit-content;
    margin-block-start: 0;
    padding-block-end: 8px;
    border-block-end: 2px solid rgba(0, 180, 129, .55);
}

.footer-contact-col > a,
.footer-contact-col > p {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.footer-contact-col > p {
    margin-block: 0;
}

.rt-footer h3 {
    color: var(--rt-white);
    font-size: 1.5rem;
    margin-block-end: 22px;
    padding-block-end: 20px;
    }

.rt-footer a {
    display: block;
    margin-block-end: 9px; }

.rt-footer .rt-footer__socials a {
    display: grid;
    margin-block-end: 0; }

.rt-footer a:hover {
    /* color: var(--rt-primary); */
    background: var(--rt-primary);
}
.footer-menu-links a:hover, .footer-contact-col  a:hover{
    color: var(--rt-primary);
    background:transparent;
}
.rt-footer__bottom {
    margin-block-start: 50px; padding-block-start: 22px; display: flex;
    justify-content: space-between;
    gap: 20px;
    border-block-start: 1px solid rgba(255,255,255,.1); font-size: .88rem;
}

.rt-footer__bottom div {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
}

.rt-footer .rt-footer__developer {
    margin-block-end: 0;
    color: rgba(255,255,255,.72);
    white-space: nowrap;
}

.rt-footer .rt-footer__developer a {
    display: inline;
    margin: 0;
}

.rt-footer__developer strong {
    color: var(--rt-white);
    font-weight: 700;
}

.rt-footer .rt-footer__developer a:hover,
.rt-footer .rt-footer__developer a:hover strong {
    color: var(--rt-primary);
}
