/* VARIAN_HOME_MODERN_V1 — Homepage-only visual refresh. No shared header/footer edits. */
:root {
    --vh-ink: #10223d;
    --vh-muted: #5b6b82;
    --vh-blue: #2563eb;
    --vh-blue-deep: #0b2852;
    --vh-teal: #0f9f9a;
    --vh-gold: #f6ad2e;
    --vh-line: #e4eaf3;
    --vh-surface: #ffffff;
    --vh-canvas: #f5f8fd;
    --vh-shadow: 0 12px 34px rgba(16, 34, 61, .075);
    --vh-shadow-hover: 0 24px 48px rgba(16, 34, 61, .15);
}

body[dir="rtl"] {
    background: var(--vh-canvas);
    color: var(--vh-ink);
}

/* Hero */
.page-hero.page-hero {
    position: relative !important;
    isolation: isolate;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 18% 22%, rgba(38, 99, 235, .42), transparent 34%),
        radial-gradient(circle at 88% 78%, rgba(15, 159, 154, .23), transparent 30%),
        linear-gradient(128deg, #071a35 0%, #0d3264 56%, #125b86 100%) !important;
    color: #fff !important;
    padding: clamp(58px, 8vw, 98px) 0 clamp(66px, 8vw, 92px) !important;
    margin: 0 auto 38px !important;
    clip-path: none !important;
    border-radius: 0 0 42px 42px !important;
    box-shadow: 0 18px 50px rgba(7, 26, 53, .16);
}

.page-hero.page-hero::before,
.page-hero.page-hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
}

.page-hero.page-hero::before {
    width: 470px;
    height: 470px;
    left: -205px;
    top: -245px;
    box-shadow: 0 0 0 38px rgba(255,255,255,.025), 0 0 0 78px rgba(255,255,255,.018);
}

.page-hero.page-hero::after {
    width: 320px;
    height: 320px;
    right: -155px;
    bottom: -215px;
    box-shadow: 0 0 0 34px rgba(255,255,255,.025), 0 0 0 70px rgba(255,255,255,.018);
}

.page-hero .container {
    position: relative;
    z-index: 1;
    width: min(100% - 36px, 1220px);
    max-width: 1220px;
}

.page-hero h1 {
    font-size: clamp(2.15rem, 4.8vw, 3.75rem) !important;
    line-height: 1.25 !important;
    letter-spacing: -.035em;
    font-weight: 900 !important;
    margin-bottom: 20px !important;
    text-shadow: 0 8px 24px rgba(0, 0, 0, .2) !important;
}

.page-hero p {
    max-width: 790px !important;
    font-size: clamp(1rem, 1.8vw, 1.24rem) !important;
    line-height: 2 !important;
    color: rgba(255,255,255,.88) !important;
    opacity: 1 !important;
}

.page-hero .container > div:first-of-type {
    align-items: center;
    gap: 14px !important;
    margin-top: 30px;
    margin-bottom: 35px !important;
}

.page-hero .container > div:first-of-type a {
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    min-height: 54px;
    padding: 14px 25px !important;
    border-radius: 14px !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 25px rgba(0,0,0,.13);
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.page-hero .container > div:first-of-type a:first-child {
    background: linear-gradient(135deg, #ffc14c, #f39a18) !important;
    border-color: transparent !important;
    color: #13233c !important;
}

.page-hero .container > div:first-of-type a:last-child {
    background: rgba(255,255,255,.075) !important;
    border: 1px solid rgba(255,255,255,.6) !important;
    color: #fff !important;
    backdrop-filter: blur(10px);
}

.page-hero .container > div:first-of-type a:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 32px rgba(0,0,0,.23);
}

.page-hero .container > div:last-child {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px !important;
    max-width: 1000px;
    margin: 38px auto 0 !important;
}

.page-hero .container > div:last-child > div {
    min-width: 0 !important;
    padding: 22px 16px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.075) !important;
    backdrop-filter: blur(14px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
    transition: transform .22s ease, background .22s ease;
}

.page-hero .container > div:last-child > div:hover {
    transform: translateY(-4px);
    background: rgba(255,255,255,.12) !important;
}

.page-hero .container > div:last-child span:first-child {
    color: #fff !important;
    font-size: clamp(1.8rem, 3vw, 2.45rem) !important;
    line-height: 1.3;
    font-variant-numeric: tabular-nums;
}

.page-hero .container > div:last-child span:last-child {
    color: rgba(255,255,255,.82) !important;
    font-size: .97rem !important;
}

/* Shared home section rhythm */
.features-section.features-section,
.services-preview.services-preview,
.why-us.why-us,
.clients-section.clients-section {
    padding: clamp(54px, 7vw, 86px) 20px !important;
}

.features-section.features-section {
    background: linear-gradient(180deg, #f4f8fe 0%, #fff 100%) !important;
}

.services-preview.services-preview {
    background: #fff !important;
}

.why-us.why-us {
    background: linear-gradient(180deg, #f2f7fd 0%, #eaf2fb 100%) !important;
}

.clients-section.clients-section {
    background: #f8faff !important;
}

.section-title.section-title {
    color: var(--vh-ink) !important;
    font-size: clamp(1.65rem, 3vw, 2.45rem) !important;
    line-height: 1.45 !important;
    font-weight: 900 !important;
    margin: 0 auto 48px !important;
    max-width: 900px;
    text-wrap: balance;
}

.section-title.section-title::after {
    width: 82px !important;
    height: 4px !important;
    bottom: -14px !important;
    background: linear-gradient(90deg, var(--vh-teal), var(--vh-blue)) !important;
    border-radius: 99px !important;
}

/* Feature cards */
.features-grid.features-grid {
    width: min(100%, 1220px);
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.features-grid .feature-card.feature-card {
    position: relative;
    overflow: hidden;
    padding: 34px 26px !important;
    border: 1px solid var(--vh-line) !important;
    border-radius: 24px !important;
    box-shadow: var(--vh-shadow) !important;
    background: rgba(255,255,255,.96) !important;
    text-align: right;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.features-grid .feature-card.feature-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--vh-teal), var(--vh-blue));
}

.features-grid .feature-card.feature-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--vh-shadow-hover) !important;
    border-color: #c8d8f0 !important;
}

.features-grid .feature-icon.feature-icon {
    width: 68px !important;
    height: 68px !important;
    margin: 0 0 22px !important;
    border-radius: 19px !important;
    background: linear-gradient(140deg, #2563eb, #0f9f9a) !important;
    box-shadow: 0 10px 22px rgba(37,99,235,.19);
    font-size: 1.75rem !important;
}

.features-grid .feature-card h3 {
    color: var(--vh-ink) !important;
    font-size: 1.23rem !important;
    line-height: 1.6;
    font-weight: 850;
    margin-bottom: 12px !important;
}

.features-grid .feature-card p {
    color: var(--vh-muted) !important;
    font-size: .98rem;
    line-height: 1.95 !important;
    margin-bottom: 0;
}

/* Six-card service grid */
.services-preview .services-grid.services-grid {
    width: min(100%, 1220px);
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.services-preview .service-preview-card.service-preview-card {
    display: flex !important;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: var(--vh-surface) !important;
    border: 1px solid var(--vh-line) !important;
    border-radius: 24px !important;
    box-shadow: var(--vh-shadow) !important;
    position: relative;
    transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease;
}

.services-preview .service-preview-card.service-preview-card:hover {
    transform: translateY(-8px);
    border-color: #c8d8f0 !important;
    box-shadow: var(--vh-shadow-hover) !important;
}

.services-preview .service-image.service-image {
    height: 174px !important;
    min-height: 174px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    isolation: isolate;
}

.services-preview .service-image.service-image::before {
    opacity: .78 !important;
    background: linear-gradient(135deg, rgba(5, 20, 48, .05), rgba(5, 20, 48, .30)) !important;
    z-index: -1;
}

.services-preview .service-image .floating-icon {
    width: 76px !important;
    height: 76px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px !important;
    background: rgba(255,255,255,.19) !important;
    border: 1px solid rgba(255,255,255,.54) !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.17) !important;
    backdrop-filter: blur(12px);
    font-size: 2rem !important;
    transition: transform .25s ease, background .25s ease;
}

.services-preview .service-preview-card:hover .service-image .floating-icon {
    transform: translateY(-3px) scale(1.06) !important;
    background: rgba(255,255,255,.28) !important;
    color: #fff !important;
}

.services-preview .service-content.service-content {
    padding: 23px 23px 20px !important;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    text-align: right;
}

.services-preview .service-content h3 {
    margin: 0 0 11px !important;
    color: var(--vh-ink) !important;
    font-size: 1.18rem !important;
    line-height: 1.65 !important;
    font-weight: 850 !important;
}

.services-preview .service-content p {
    color: var(--vh-muted) !important;
    font-size: .94rem !important;
    line-height: 1.9 !important;
    margin: 0 0 20px !important;
    flex: 1 1 auto;
}

.services-preview .service-link.service-link {
    min-height: 43px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid #edf1f7 !important;
    color: var(--vh-blue) !important;
    font-size: .94rem !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    transition: color .2s ease, gap .2s ease;
}

.services-preview .service-link.service-link:hover {
    color: #0b8b89 !important;
    gap: 14px;
}

.services-preview .service-link i {
    transition: transform .2s ease;
}

.services-preview .service-link:hover i {
    transform: translateX(-3px);
}

/* Why Varianet */
.why-grid.why-grid {
    width: min(100%, 1220px);
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.why-grid .why-item.why-item {
    height: 100%;
    padding: 28px 21px !important;
    border: 1px solid rgba(218,229,243,.95);
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 9px 26px rgba(16,34,61,.055) !important;
    transition: transform .23s ease, box-shadow .23s ease;
}

.why-grid .why-item.why-item:hover {
    transform: translateY(-5px);
    box-shadow: var(--vh-shadow) !important;
}

.why-grid .why-item i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 18px;
    background: #edf4ff;
    color: var(--vh-blue) !important;
    font-size: 1.65rem !important;
    margin-bottom: 16px !important;
}

.why-grid .why-item h4 {
    font-size: 1.08rem;
    line-height: 1.6;
    font-weight: 850;
    color: var(--vh-ink) !important;
    margin-bottom: 10px !important;
}

.why-grid .why-item p {
    color: var(--vh-muted);
    line-height: 1.85;
    margin-bottom: 0;
}

/* Customer cards */
.clients-section .clients-grid.clients-grid {
    width: min(100% - 36px, 1220px);
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.clients-section .client-card.client-card {
    min-height: 190px;
    padding: 27px 22px !important;
    border: 1px solid var(--vh-line) !important;
    border-bottom: 3px solid var(--vh-blue) !important;
    border-radius: 21px !important;
    background: #fff !important;
    box-shadow: 0 9px 25px rgba(16,34,61,.055) !important;
    transition: transform .22s ease, box-shadow .22s ease;
}

.clients-section .client-card.client-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--vh-shadow) !important;
}

.clients-section .client-icon-box.client-icon-box {
    width: 62px !important;
    height: 62px !important;
    border-radius: 19px !important;
    background: linear-gradient(135deg, #eaf2ff, #e6fbf8) !important;
    color: var(--vh-blue) !important;
    font-size: 1.55rem !important;
    margin-bottom: 16px !important;
}

.clients-section .client-name.client-name {
    color: var(--vh-ink) !important;
    font-size: 1.06rem !important;
    font-weight: 850 !important;
}

.clients-section .client-service.client-service {
    color: #52637a !important;
    background: #f1f5fb !important;
    line-height: 1.6;
}

/* Call to action */
.cta-section.cta-section {
    width: min(calc(100% - 36px), 1220px);
    margin: 42px auto 56px !important;
    padding: clamp(34px, 5.5vw, 68px) 26px !important;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 90% 10%, rgba(15,159,154,.32), transparent 30%),
        linear-gradient(125deg, #0b2348, #14558a) !important;
    box-shadow: 0 22px 48px rgba(11,35,72,.18);
    color: #fff !important;
    text-align: center;
}

.cta-section.cta-section h2 {
    color: #fff !important;
    font-size: clamp(1.55rem, 3vw, 2.3rem) !important;
    line-height: 1.5;
    font-weight: 900;
    margin-bottom: 13px !important;
}

.cta-section.cta-section p {
    color: rgba(255,255,255,.86) !important;
    font-size: 1.04rem !important;
    line-height: 1.95 !important;
    max-width: 760px;
    margin: 0 auto 25px !important;
}

.cta-section.cta-section a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 13px 24px;
    border-radius: 13px;
    background: linear-gradient(135deg, #ffc14c, #f39a18);
    color: #13233c;
    text-decoration: none;
    font-weight: 850;
    box-shadow: 0 9px 25px rgba(0,0,0,.14);
    transition: transform .2s ease, box-shadow .2s ease;
}

.cta-section.cta-section a:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(0,0,0,.2);
}

/* FAQs and common interactive details when present on the homepage */
.faq-section.faq-section,
.faq-box.faq-box {
    width: min(calc(100% - 36px), 1220px);
    margin: 34px auto !important;
    padding: clamp(22px, 4vw, 40px) !important;
    border: 1px solid var(--vh-line) !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: var(--vh-shadow) !important;
}

.faq-grid.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.faq-item.faq-item {
    padding: 20px;
    border: 1px solid #e8eef6;
    border-radius: 17px;
    background: #fbfcff;
}

.faq-item h4 {
    color: var(--vh-ink);
    font-weight: 850;
    line-height: 1.7;
}

.faq-item p {
    color: var(--vh-muted);
    line-height: 1.9;
}

a:focus-visible {
    outline: 3px solid #f4b740;
    outline-offset: 3px;
}

@media (max-width: 1000px) {
    .features-grid.features-grid,
    .services-preview .services-grid.services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .why-grid.why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .page-hero.page-hero {
        border-radius: 0 0 28px 28px !important;
        padding: 52px 0 48px !important;
        margin-bottom: 22px !important;
    }
    .page-hero .container {
        width: min(100% - 28px, 1220px);
    }
    .page-hero .container > div:last-child {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px !important;
        margin-top: 26px !important;
    }
    .page-hero .container > div:last-child > div {
        padding: 17px 10px !important;
        border-radius: 16px !important;
    }
    .page-hero .container > div:first-of-type {
        flex-direction: column;
        align-items: stretch !important;
    }
    .page-hero .container > div:first-of-type a {
        width: 100%;
        box-sizing: border-box;
    }
    .features-section.features-section,
    .services-preview.services-preview,
    .why-us.why-us,
    .clients-section.clients-section {
        padding: 45px 14px !important;
    }
    .features-grid.features-grid,
    .services-preview .services-grid.services-grid,
    .why-grid.why-grid,
    .clients-section .clients-grid.clients-grid,
    .faq-grid.faq-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 15px !important;
    }
    .features-grid .feature-card.feature-card {
        padding: 26px 22px !important;
    }
    .services-preview .service-image.service-image {
        height: 150px !important;
        min-height: 150px;
    }
    .services-preview .service-content.service-content {
        padding: 21px 20px 18px !important;
    }
    .cta-section.cta-section {
        width: calc(100% - 28px);
        margin: 28px auto 38px !important;
        border-radius: 23px !important;
        padding: 33px 20px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
