/* Focused service/navigation and Contact adjustments. Original design remains primary. */

/* Why GITECH: plain typography, open space and quiet rules, without visual effects. */
.why-gitech-human {
    padding: clamp(48px, 6vw, 88px) 0 0;
    scroll-margin-top: 110px;
    background: #f5f7f3;
    color: #101710;
    border-top: 1px solid #e0e5dc;
    border-bottom: 1px solid #e0e5dc;
}
.why-gitech-human-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(40px, 7vw, 112px);
    padding-bottom: clamp(36px, 4.5vw, 64px);
    align-items: start;
}
.why-gitech-human-kicker {
    margin: 0 0 22px;
    color: #0d7e24;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.5;
}
.why-gitech-human-intro h2 {
    margin: 0 0 24px;
    color: #101710;
    font-family: var(--gitech-font);
    font-size: clamp(34px, 3.6vw, 52px);
    font-weight: 750;
    letter-spacing: -.045em;
    line-height: 1.12;
}
.why-gitech-human-intro h2 span { color: #0d7e24; }
.why-gitech-human-lead {
    max-width: 43ch;
    margin: 0;
    color: #4b564c;
    font-size: 16px;
    line-height: 1.8;
}
.why-gitech-human-principles {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}
.why-gitech-human-principles li { padding: 24px 0; }
.why-gitech-human-principles li:first-child { padding-top: 0; }
.why-gitech-human-principles li:last-child { padding-bottom: 0; }
.why-gitech-human-principles li + li { border-top: 1px solid #d9e0d6; }
.why-gitech-human-principles h3 {
    margin: 0 0 9px;
    color: #101710;
    font-size: 21px;
    font-weight: 650;
    letter-spacing: -.025em;
    line-height: 1.35;
}
.why-gitech-human-principles p {
    max-width: 57ch;
    margin: 0;
    color: #4b564c;
    font-size: 15px;
    line-height: 1.75;
}
.why-gitech-human-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 27px 0;
    border-top: 1px solid #cbd4c7;
}
.why-gitech-human-location { margin: 0; font-size: 13px; line-height: 1.7; }
.why-gitech-human-location strong { display: block; font-size: 15px; font-weight: 650; }
.why-gitech-human-location span { color: #4b564c; }
.why-gitech-human-link {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    min-height: 44px;
    padding: 8px 0;
    border-bottom: 1px solid #101710;
    color: #101710;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}
.why-gitech-human-link i { color: #0d7e24; font-size: 18px; }
.why-gitech-human-link:hover { color: #0d7e24; border-color: #0d7e24; }

@media (max-width: 900px) {
    .why-gitech-human-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .why-gitech-human-intro { max-width: 620px; }
    .why-gitech-human-lead { max-width: 56ch; }
    .why-gitech-human-principles { border-top: 1px solid #d9e0d6; }
    .why-gitech-human-principles li:first-child { padding-top: 24px; }
}
@media (max-width: 575.98px) {
    .why-gitech-human-intro h2 { font-size: clamp(30px, 7.8vw, 42px); }
    .why-gitech-human-kicker { margin-bottom: 16px; }
    .why-gitech-human-lead { font-size: 15px; line-height: 1.75; }
    .why-gitech-human-principles h3 { font-size: 20px; }
    .why-gitech-human-footer { align-items: flex-start; flex-direction: column; gap: 18px; }
}

.solutions-dropdown-grid > .solution-nav-all {
    grid-column: 1 / -1;
}

/* The supplied product image keeps its full composition and original colours. */
.solution-page-hero-compact .pulsesms-feature-media,
.innovation-media.pulsesms-feature-media {
    align-self: center;
    min-height: 0;
    height: auto;
    max-height: none;
    background: #061217;
}

.solution-page-hero-compact .pulsesms-feature-media > img,
.innovation-media.pulsesms-feature-media > img {
    display: block;
    position: static;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: 1672 / 941;
    object-fit: contain;
    transform: none;
}

.pulsesms-feature-media::after { display: none; }

.pulsesms-feature-media .solution-media-note,
.pulsesms-feature-media .authentic-photo-caption {
    position: static;
    margin: 0;
    border: 0;
    border-radius: 0;
    padding: 18px 20px;
    background: #ffffff;
    box-shadow: none;
}

.pulsesms-feature-media .authentic-photo-caption strong { color: #111411; }
.pulsesms-feature-media .authentic-photo-caption span { color: #0d7e24; }
.solutions-track .solution-card > .pulsesms-card-image {
    object-fit: contain;
    object-position: center 14%;
    background: #061217;
}

.apps-compact-products .app-product-card {
    display: grid;
    grid-template-rows: 52px minmax(30px, auto) auto 1fr minmax(42px, auto);
    gap: 14px;
    min-width: 0;
}
.apps-compact-products .app-product-icon,
.apps-compact-products .app-product-live-topline,
.apps-compact-products .app-product-card h3,
.apps-compact-products .app-product-card p { margin: 0; }
.apps-compact-products .app-product-live-topline { flex-wrap: wrap; gap: 8px; }
.apps-compact-products .app-product-card > span { align-self: center; }
.apps-compact-products .app-product-card > a { align-self: end; justify-self: start; min-height: 42px; }

/* State-driven dropdowns retain the original styling and work on touch laptops. */
.main-nav-dropdown.menu-enhanced:not(.is-open) .solutions-dropdown {
    visibility: hidden;
    opacity: 0;
    transform: translateX(-50%) translateY(14px);
}
.main-nav-dropdown.menu-enhanced.is-open .solutions-dropdown {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.main-nav-dropdown.menu-enhanced:not(.is-open) .nav-dropdown-button i { transform: none; }
.main-nav-dropdown.menu-enhanced.is-open .nav-dropdown-button i { transform: rotate(180deg); }
.search-help { margin: 12px 0; color: #d3ddd5; font-size: 12px; line-height: 1.6; }

/* Content is readable before JavaScript loads or if scripting is unavailable. */
.reveal-up, .reveal-scale { opacity: 1; transform: none; }
.reveal-ready .reveal-up:not(.is-visible) { opacity: 0; transform: translateY(18px); }
.reveal-ready .reveal-scale:not(.is-visible) { opacity: 0; transform: translateY(14px) scale(.99); }

/* Keep the hero stable and leave clear space for the reference-style slide dots. */
.home-hero-slider-section .gitech-hero-slides { display: grid; }
.home-hero-slider-section .gitech-hero-slide {
    position: relative;
    grid-area: 1 / 1;
    min-width: 0;
    width: 100%;
}
.home-hero-slider-section .gitech-hero-slide-inner { padding-bottom: 144px; }
.home-hero-slider-section .gitech-hero-slide::after { display: none; }

.hero-slide-controls {
    position: absolute;
    left: 50%;
    bottom: 60px;
    z-index: 9;
    display: none;
    align-items: center;
    width: max-content;
    transform: translateX(-50%);
}
.hero-ready .hero-slide-controls { display: flex; }
.hero-slide-dot {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 32px;
    width: 32px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
}
.hero-slide-dot::before {
    content: "";
    width: 17px;
    height: 17px;
    box-sizing: border-box;
    border: 0 solid #fff;
    border-radius: 50%;
    background: #8d9097;
    opacity: .7;
}
.hero-slide-dot[aria-current="true"]::before {
    width: 24px;
    height: 24px;
    border-width: 3px;
    background: transparent;
    opacity: 1;
}
.hero-slide-dot[aria-current="true"]::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
}
.hero-slide-dot:hover::before { opacity: 1; }
.hero-slide-dot:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
/* Keep the reference uncluttered, while exposing a pause control on interaction. */
.hero-rotation-toggle {
    position: absolute;
    left: 50%;
    top: calc(100% + 2px);
    transform: translateX(-50%);
    width: max-content;
    min-height: 24px;
    padding: 2px 8px;
    border: 1px solid #ffffff80;
    border-radius: 6px;
    background: #102016;
    color: #fff;
    font-size: 11px;
    line-height: 1.4;
    opacity: 0;
    pointer-events: none;
    cursor: pointer;
}
.hero-slide-controls:hover .hero-rotation-toggle,
.hero-slide-controls:focus-within .hero-rotation-toggle {
    opacity: 1;
    pointer-events: auto;
}
.hero-rotation-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 800px) {
    .hero-slide-controls { bottom: 48px; }
    .home-hero-slider-section .gitech-hero-slide-inner { padding-bottom: 128px; }
}

@media (prefers-reduced-motion: reduce) {
    .reveal-ready .reveal-up, .reveal-ready .reveal-scale { opacity: 1; transform: none; }
    html { scroll-behavior: auto; }
}

.innovation-portal-link {
    color: inherit;
    text-decoration: none;
}

.innovation-portal-link:hover strong,
.innovation-portal-link:focus-visible strong {
    color: var(--gitech-green-text, #0d7e24);
}

.contact-page .gitech-subpage-banner {
    margin-bottom: 0;
}

.contact-page .contact-page-hero {
    padding: clamp(24px, 3vw, 42px) 0;
}

.contact-page .brand-page-hero-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
}

.contact-page .brand-page-copy h1 {
    margin: 14px 0 18px;
    font-size: clamp(38px, 4.2vw, 62px);
    letter-spacing: -.045em;
}

.contact-page .brand-page-copy > p {
    font-size: 16px;
}

.contact-page .contact-hero-photo {
    height: clamp(330px, 32vw, 420px);
    margin: 0;
}

.contact-page .contact-options-section {
    padding: clamp(28px, 4vw, 48px) 0;
}

.contact-page .contact-options-head {
    gap: 20px;
    margin-bottom: 22px;
}

.contact-page .contact-options-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-color: rgba(0, 0, 0, .10);
}

.contact-page .contact-option {
    min-width: 0;
    min-height: 118px;
    padding: 18px;
    gap: 12px;
    grid-template-columns: 40px minmax(0, 1fr) 16px;
}

.contact-page .contact-option > i:first-child {
    width: 38px;
    height: 38px;
}

.contact-page .contact-option strong {
    font-size: 15px;
    overflow-wrap: anywhere;
}

.contact-page .contact-option:not(.contact-option-static):hover {
    padding-left: 18px;
}

.contact-page .contact-location-proof {
    padding: clamp(28px, 4vw, 48px) 0;
}

.contact-page .contact-location-proof-grid {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(24px, 4vw, 56px);
}

.contact-page .contact-location-photo {
    height: 330px;
    margin: 0;
}

.contact-page .contact-context-points {
    margin: 18px 0;
}

@media (max-width: 1080px) {
    .contact-page .contact-options-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .contact-page .brand-page-hero-grid,
    .contact-page .contact-location-proof-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .contact-page .contact-options-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .contact-page .contact-options-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .contact-page .contact-hero-photo,
    .contact-page .contact-location-photo {
        height: 300px;
    }
}
