
   :root {
    --hp-primary:    #4CAF50;
    --hp-dark-bg:    #37474F;
    --hp-light-bg:   #ECEFF1;
    --hp-text:       #37474F;
    --hp-text-light: #ffffff;
    --hp-accent:     #FF5722;
    --hp-radius: 16px;
    --hp-gutter: clamp(1rem, 4vw, 2.5rem);
    
}

.hp-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--hp-gutter);
    box-sizing: border-box;
}

.hp-btn {
    display: inline-block;
    padding: 14px 32px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    transition: opacity .25s, transform .25s;
    cursor: pointer;
    line-height: 1.4;
}
.hp-btn:hover { opacity: .88; transform: translateY(-1px); color: var(--hp-text-light); }

.hp-btn--primary {
    background: var(--hp-accent);
    color: var(--hp-text-light);
}
.hp-btn--white {
    background: #ffffff;
    color: var(--hp-primary);
}
.hp-btn--outline {
    background: transparent;
    color: var(--hp-text-light);
    border: 2px solid var(--hp-light-bg);
}

.hp-hero {
    position: relative;
    min-height: 800px;
    align-items: center;
    background-size: cover;
    background-position: 50% 72%;
    overflow: hidden;
}

.hp-hero__inner {
    position: relative;
    z-index: 1;
    width: 100%;
}
.hp-hero__content {
    max-width: 65%;
    padding: 80px 0;
}
.hp-hero__title {
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height: 1.2;
    color: var(--hp-text-light);
    margin: 0 0 20px;
}
.hp-hero__text {
    font-size: 17px;
    color: var(--hp-text-light);
    margin: 0 0 30px;
    max-width: 560px;
}
.hp-hero__buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.hp-services {
    padding: 60px 0 40px;
}
.hp-services__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}
.hp-services__item {
    text-align: center;
    padding: 0 10px;
}
.hp-services__icon {
    margin: 0 auto 16px;
    display: flex;
    justify-content: center;
}
.hp-services__icon img {
    max-width: 64px;
    height: auto;
}
.hp-services__title {
    font-size: 1.17rem;
    color: var(--hp-text);
    margin: 0 0 10px;
}
.hp-services__text {
    font-size: 15px;
    color: #6a737d;
    line-height: 1.6;
}

.hp-featured {
    background: var(--hp-light-bg);
    padding: 80px 0 60px;
}
.hp-featured__header {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 40px;
}
.hp-featured__heading {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    color: var(--hp-text);
    margin: 0 0 16px;
}
.hp-featured__text {
    font-size: 16px;
    color: #6a737d;
    line-height: 1.6;
}
.hp-featured__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}
.hp-featured__item {
    text-align: center;
}
.hp-featured__img {
    width: 100%;
    border-radius: var(--hp-radius);
    display: block;
}
.hp-featured__item-title {
    font-size: 1.17rem;
    color: var(--hp-text);
    margin: 24px 0 0;
}

.hp-testimonials {
    background: var(--hp-dark-bg);
    padding: 80px 0;
}
.hp-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}
.hp-testimonials__item {
    text-align: center;
}
.hp-testimonials__avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 24px;
    display: block;
}
.hp-testimonials__quote {
    font-size: 15px;
    line-height: 1.7;
    color: var(--hp-text-light);
    margin: 0 0 16px;
    font-style: normal;
}
.hp-testimonials__name {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .06em;
    color: var(--hp-text-light);
}

.hp-cases {
    padding: 80px 0 40px;
}
.hp-cases__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    margin-bottom: 40px;
}
.hp-cases__row--reverse .hp-cases__image { order: 2; }
.hp-cases__row--reverse .hp-cases__content { order: 1; }

.hp-cases__image img {
    width: 100%;
    border-radius: var(--hp-radius);
    display: block;
}
.hp-cases__title {
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: var(--hp-text);
    margin: 0 0 16px;
}
.hp-cases__text {
    font-size: 17px;
    line-height: 1.6;
    color: #6a737d;
    margin: 0 0 24px;
}

.hp-cta {
    background: var(--hp-primary);
    padding: 140px 0;
}
.hp-cta__inner {
    text-align: center;
    max-width: 640px;
    margin: 0 auto;
}
.hp-cta__heading {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    color: var(--hp-text-light);
    margin: 0 0 16px;
}
.hp-cta__text {
    font-size: 16px;
    color: rgba(255,255,255,.85);
    line-height: 1.6;
    margin: 0 0 30px;
}

@media (max-width: 960px) {
    .hp-services__grid   { grid-template-columns: repeat(2, 1fr); }
    .hp-testimonials__grid { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
    .hp-hero__content    { max-width: 85%; }
}

@media (max-width: 680px) {
    .hp-hero             { min-height: 520px; }
    .hp-hero__content    { max-width: 100%; padding: 40px 0; }
    .hp-services__grid   { grid-template-columns: 1fr; max-width: 400px; margin: 0 auto; }
    .hp-featured__grid   { grid-template-columns: 1fr; }
    .hp-cases__row,
    .hp-cases__row--reverse .hp-cases__image,
    .hp-cases__row--reverse .hp-cases__content {
        grid-template-columns: 1fr;
        order: unset;
    }
    .hp-cases__row { display: flex; flex-direction: column; }
    .hp-cta { padding: 80px 0; }
}
