/* Hamida Traders — Services V2 Production */

.hero {
    position: relative;
    overflow: hidden;
    background: #041522;
    color: #fff;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 82% 18%, rgba(23,105,210,.30), transparent 30%),
        radial-gradient(circle at 70% 80%, rgba(22,130,87,.14), transparent 28%),
        linear-gradient(145deg, #041522, #082540 57%, #071622);
}

.hero-grid {
    position: absolute;
    inset: 0;
    opacity: .10;
    background-image:
        linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(90deg, transparent 0%, black 48%, black 100%);
}

.hero-inner {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 30px));
    margin: auto;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 56px;
    align-items: center;
    min-height: 620px;
    padding: 74px 0;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 13px;
    border-radius: 10px;
    border: 1px solid rgba(85,220,158,.18);
    background: rgba(14,59,85,.38);
    color: #91d7ba;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.eyebrow i {
    width: 7px;
    height: 7px;
    background: #4bd49a;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(75,212,154,.1);
}

.hero h1 {
    max-width: 690px;
    margin: 20px 0 16px;
    font-size: clamp(42px, 4.6vw, 60px);
    line-height: .98;
    letter-spacing: -.05em;
    font-weight: 900;
}

.hero h1 .accent {
    display: block;
    background: linear-gradient(90deg, #8bbcff, #d5e6ff 68%, #9be0c3);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.hero-copy {
    max-width: 660px;
    color: #b3c5d5;
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
}

.hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 28px;
}

.btn {
    min-height: 50px;
    padding: 0 19px;
    border-radius: 11px;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-size: 13px;
    font-weight: 850;
    transition: .2s;
}

.btn:hover {
    transform: translateY(-2px);
}

.btn-primary {
    background: linear-gradient(135deg, #fff, #edf4fb);
    color: #061a2d;
    box-shadow: 0 12px 30px rgba(0,0,0,.16);
}

.btn-ghost {
    border-color: rgba(255,255,255,.18);
    background: rgba(255,255,255,.045);
    color: #fff;
    backdrop-filter: blur(10px);
}


/* HERO SERVICE VISUAL */

.hero-side {
    position: relative;
    min-height: 430px;
}

.service-visual {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 440px;
}

.service-visual-inner {
    width: min(455px, 100%);
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    grid-template-rows: auto auto auto;
    gap: 12px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 28px;
    background: rgba(255,255,255,.025);
    box-shadow: 0 30px 70px rgba(0,0,0,.18);
}

.visual-card {
    position: relative;
    min-height: 132px;
    padding: 17px;
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 16px;
    background: linear-gradient(
        145deg,
        rgba(8,33,56,.92),
        rgba(11,47,77,.72)
    );
    box-shadow: 0 18px 45px rgba(0,0,0,.16);
    transition: transform .2s, border-color .2s;
}

.visual-card:hover {
    transform: translateY(-3px);
    border-color: rgba(139,188,255,.24);
}

.visual-featured {
    grid-row: 1 / span 3;
    min-height: 420px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 24%,
            rgba(65,142,238,.22),
            transparent 34%
        ),
        linear-gradient(
            160deg,
            rgba(7,30,51,.98),
            rgba(8,51,75,.88)
        );
}

.visual-featured::before {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    top: 22px;
    height: 145px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 12px;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.05) 49%,
            transparent 49%,
            transparent 51%,
            rgba(255,255,255,.05) 51%
        ),
        linear-gradient(
            rgba(255,255,255,.05) 49%,
            transparent 49%,
            transparent 51%,
            rgba(255,255,255,.05) 51%
        );
    background-size: 50% 50%;
}

.visual-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    margin-bottom: 12px;
    border-radius: 10px;
    background: rgba(23,105,210,.18);
    color: #9bc2f4;
    font-size: 17px;
    font-weight: 900;
}

.visual-featured .visual-icon {
    position: relative;
    z-index: 1;
    margin-top: auto;
}

.visual-kicker {
    display: block;
    color: #70d5aa;
    font-size: 8.5px;
    font-weight: 900;
    letter-spacing: .13em;
    margin-bottom: 5px;
}

.visual-card strong {
    display: block;
    color: #fff;
    font-size: 14px;
    line-height: 1.28;
}

.visual-card p {
    margin: 6px 0 0;
    color: #aabccd;
    font-size: 10.5px;
    line-height: 1.6;
}

.visual-featured strong {
    font-size: 20px;
}

.visual-featured p {
    font-size: 11.5px;
    max-width: 95%;
}

.visual-status {
    width: max-content;
    margin-top: 15px;
    padding: 7px 9px;
    border-radius: 999px;
    background: rgba(22,130,87,.15);
    color: #8ce0ba;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .07em;
}


/* GENERAL SECTIONS */

.section {
    padding: 96px 16px;
}

.wrap {
    width: min(1180px, 100%);
    margin: auto;
}

.section-kicker {
    color: #168257;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
}

.section h2 {
    margin: 10px 0 0;
    font-size: clamp(34px, 4.3vw, 54px);
    line-height: 1.08;
    letter-spacing: -.04em;
    color: #061a2d;
}

.section-lead {
    max-width: 760px;
    color: #68798a;
    font-size: 13px;
    line-height: 1.8;
    margin: 16px 0 0;
}


/* CORE SERVICES */

.services-core {
    background: #fff;
}

.service-grid {
    margin-top: 38px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.service-grid-seven {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-card {
    min-height: 290px;
    padding: 24px;
    border: 1px solid #dce5ed;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(5,28,48,.045);
    transition: .25s;
    position: relative;
    overflow: hidden;
}

.service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 50px rgba(5,28,48,.10);
}

.service-card::after {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1769d2, #168257);
    transform: scaleX(0);
    transform-origin: left;
    transition: .25s;
}

.service-card:hover::after {
    transform: scaleX(1);
}

.service-icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: #edf4ff;
    color: #075fcf;
    font-size: 16px;
    font-weight: 900;
    margin-bottom: 34px;
}

.service-card small {
    color: #168257;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
}

.service-card h3 {
    margin: 8px 0 9px;
    color: #061a2d;
    font-size: 20px;
}

.service-card p {
    margin: 0;
    color: #6d8092;
    font-size: 12px;
    line-height: 1.7;
}

.service-card-featured {
    grid-column: span 2;
    min-height: 300px;
    background:
        radial-gradient(
            circle at 88% 18%,
            rgba(23,105,210,.10),
            transparent 28%
        ),
        linear-gradient(145deg, #fff, #f6f9fc);
}

.service-card-featured .service-icon {
    background: #e9f6f0;
    color: #168257;
}

.service-card-featured h3 {
    font-size: 24px;
    max-width: 560px;
}

.service-card-featured p {
    max-width: 650px;
}

.service-points {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
}

.service-points li {
    position: relative;
    padding-left: 18px;
    color: #526a7f;
    font-size: 11.5px;
    line-height: 1.55;
}

.service-points li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0;
    color: #168257;
    font-weight: 900;
}


/* PROCESS */

.process {
    background: linear-gradient(
        135deg,
        #051624 0%,
        #0a2d49 52%,
        #0c3c57 100%
    );
    color: #fff;
    position: relative;
    overflow: hidden;
}

.process::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    right: -160px;
    top: -180px;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow:
        0 0 0 75px rgba(255,255,255,.025),
        0 0 0 150px rgba(255,255,255,.015);
}

.process .section-kicker {
    color: #70d5aa;
}

.process h2 {
    color: #fff;
}

.process .section-lead {
    color: #a9bdcf;
}

.process-grid {
    position: relative;
    z-index: 2;
    margin-top: 38px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}

.process-step {
    padding: 21px;
    border-radius: 17px;
    border: 1px solid rgba(255,255,255,.1);
    background: linear-gradient(
        145deg,
        rgba(255,255,255,.055),
        rgba(255,255,255,.025)
    );
    min-height: 205px;
}

.process-no {
    width: 36px;
    height: 36px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: rgba(74,145,239,.16);
    color: #9bc2f4;
    font-size: 10px;
    font-weight: 900;
    margin-bottom: 22px;
}

.process-step small {
    color: #70d5aa;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .13em;
}

.process-step h3 {
    margin: 6px 0 7px;
    font-size: 15px;
}

.process-step p {
    margin: 0;
    color: #a7bacb;
    font-size: 11.5px;
    line-height: 1.65;
}


/* BUYER SUPPORT */

.support {
    background: linear-gradient(180deg, #f8fbfd, #f2f6fa);
}

.support-layout {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 50px;
    margin-top: 42px;
    align-items: start;
}

.support-panel {
    padding: 28px;
    border: 1px solid #dbe5ed;
    border-radius: 20px;
    background: linear-gradient(180deg, #f8fbfd, #f1f6fa);
    box-shadow: 0 16px 50px rgba(6,26,45,.05);
}

.support-panel .badge {
    display: inline-flex;
    padding: 6px 10px;
    border-radius: 999px;
    background: #e9f6f0;
    color: #168257;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
}

.support-panel h3 {
    margin: 16px 0 9px;
    color: #061a2d;
    font-size: 22px;
}

.support-panel p {
    margin: 0;
    color: #68798a;
    font-size: 12.5px;
    line-height: 1.75;
}

.support-list {
    display: grid;
    gap: 12px;
}

.support-row {
    position: relative;
    padding: 22px 22px 22px 78px;
    border: 1px solid #dce5ed;
    border-radius: 16px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 10px 28px rgba(6,26,45,.05);
    transition: .25s;
}

.support-row:hover {
    transform: translateX(6px);
    box-shadow: 0 18px 36px rgba(6,26,45,.09);
}

.support-row span {
    position: absolute;
    left: 22px;
    top: 21px;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: #061a2d;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.support-row h3 {
    margin: 0 0 5px;
    font-size: 16px;
    color: #14283d;
}

.support-row p {
    margin: 0;
    color: #68798a;
    font-size: 12px;
}


/* SERVICE SCOPE */

.scope {
    background: #fff;
}

.scope-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 36px;
}

.scope-card {
    padding: 22px;
    border: 1px solid #dce5ed;
    border-radius: 17px;
    background: #fff;
}

.scope-card strong {
    display: block;
    color: #061a2d;
    font-size: 15px;
    margin-bottom: 7px;
}

.scope-card p {
    margin: 0;
    color: #6d8092;
    font-size: 11.5px;
    line-height: 1.65;
}


/* FINAL CTA */

.cta {
    padding: 24px 16px 90px;
    background: #f2f6fa;
}

.cta-box {
    position: relative;
    overflow: hidden;
    width: min(1180px, 100%);
    margin: auto;
    border-radius: 26px;
    padding: 42px;
    background: linear-gradient(
        105deg,
        #071d31 0%,
        #0b4b82 55%,
        #168257 100%
    );
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    box-shadow: 0 28px 70px rgba(6,26,45,.18);
}

.cta-box::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -100px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow:
        0 0 0 55px rgba(255,255,255,.035),
        0 0 0 110px rgba(255,255,255,.02);
}

.cta-box > * {
    position: relative;
    z-index: 1;
}

.cta-box h2 {
    margin: 0;
    font-size: clamp(26px, 3vw, 40px);
    line-height: 1.08;
}

.cta-box p {
    margin: 10px 0 0;
    color: #dceaff;
    font-size: 13px;
    max-width: 680px;
}


/* RESPONSIVE */

@media (max-width: 1000px) {
    .hero-inner {
        grid-template-columns: 1fr;
        min-height: 570px;
    }

    .hero-side,
    .service-visual {
        display: none;
    }

    .service-grid,
    .service-grid-seven {
        grid-template-columns: repeat(2, 1fr);
    }

    .service-card-featured {
        grid-column: 1 / -1;
    }

    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .scope-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .support-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .hero-inner {
        width: calc(100% - 24px);
        padding: 58px 0;
    }

    .hero h1 {
        font-size: 44px;
    }

    .section {
        padding: 64px 12px;
    }

    .service-grid,
    .service-grid-seven,
    .process-grid,
    .scope-grid {
        grid-template-columns: 1fr;
    }

    .service-card-featured {
        grid-column: auto;
    }

    .service-points {
        grid-template-columns: 1fr;
    }

    .cta {
        padding: 15px 12px 64px;
    }

    .cta-box {
        padding: 28px 22px;
        align-items: flex-start;
        flex-direction: column;
    }
}
/* SERVICES PAGE ONLY - DESKTOP HERO ALIGNMENT */
@media (min-width: 1001px) {
    .services-page .hero-inner {
        min-height: 560px;
        padding: 60px 0;
    }

    .services-page .eyebrow {
        font-size: 11px;
        font-weight: 500;
        letter-spacing: .12em;
    }

    .services-page .hero h1 {
        max-width: 690px;
        font-size: 50px;
        line-height: 1.02;
        letter-spacing: -.045em;
        font-weight: 800;
    }

    .services-page .hero h1 .accent {
        display: inline;
    }

    .services-page .services-core {
        padding-top: 28px;
    }
}
