/* ==========================================================
   HACKER WEB
   SERVICE SEO V2
   ========================================================== */

.hw-sseo-main {
    background:
        #050708;
    color:
        #fff;
}

.hw-sseo-shell {
    width:
        min(1180px, calc(100% - 48px));
    margin:
        0 auto;
}

.hw-sseo-hero {
    position:
        relative;
    overflow:
        hidden;
    padding:
        155px 0 110px;
    border-bottom:
        1px solid rgba(255,255,255,.08);
}

.hw-sseo-hero::before {
    content:
        "";
    position:
        absolute;
    width:
        560px;
    height:
        560px;
    right:
        -180px;
    top:
        -180px;
    border-radius:
        50%;
    background:
        radial-gradient(
            circle,
            rgba(39,135,255,.14),
            transparent 68%
        );
    pointer-events:
        none;
}

.hw-sseo-breadcrumb {
    display:
        flex;
    flex-wrap:
        wrap;
    align-items:
        center;
    gap:
        10px;
    margin-bottom:
        55px;
    color:
        rgba(255,255,255,.46);
    font-size:
        12px;
    font-weight:
        700;
    letter-spacing:
        .14em;
    text-transform:
        uppercase;
}

.hw-sseo-breadcrumb a {
    color:
        inherit;
    text-decoration:
        none;
}

.hw-sseo-breadcrumb strong {
    color:
        #69b7ff;
}

.hw-sseo-hero-grid {
    display:
        grid;
    grid-template-columns:
        minmax(0,1.25fr)
        minmax(330px,.75fr);
    gap:
        80px;
    align-items:
        end;
}

.hw-sseo-kicker,
.hw-sseo-mini {
    color:
        #69b7ff;
    font-size:
        12px;
    font-weight:
        800;
    letter-spacing:
        .17em;
    text-transform:
        uppercase;
}

.hw-sseo-hero h1 {
    max-width:
        900px;
    margin:
        18px 0 28px;
    font-size:
        clamp(50px, 6.4vw, 92px);
    line-height:
        .94;
    letter-spacing:
        -.06em;
    font-weight:
        700;
}

.hw-sseo-lead {
    max-width:
        760px;
    margin:
        0;
    color:
        rgba(255,255,255,.72);
    font-size:
        19px;
    line-height:
        1.68;
}

.hw-sseo-actions {
    display:
        flex;
    flex-wrap:
        wrap;
    gap:
        12px;
    margin-top:
        38px;
}

.hw-sseo-btn {
    display:
        inline-flex;
    align-items:
        center;
    justify-content:
        center;
    gap:
        16px;
    min-height:
        52px;
    padding:
        0 24px;
    border:
        1px solid rgba(255,255,255,.15);
    border-radius:
        999px;
    color:
        #fff;
    background:
        rgba(255,255,255,.025);
    text-decoration:
        none;
    font-size:
        13px;
    font-weight:
        800;
    letter-spacing:
        .08em;
    transition:
        .25s ease;
}

.hw-sseo-btn:hover {
    transform:
        translateY(-2px);
    border-color:
        rgba(84,164,255,.65);
}

.hw-sseo-btn-primary {
    color:
        #071000;
    border-color:
        #a8ff00;
    background:
        #a8ff00;
    box-shadow:
        0 0 30px rgba(168,255,0,.12);
}

.hw-sseo-hero-panel {
    padding:
        28px;
    border:
        1px solid rgba(102,180,255,.18);
    border-radius:
        28px;
    background:
        linear-gradient(
            145deg,
            rgba(27,65,98,.22),
            rgba(255,255,255,.018)
        );
    box-shadow:
        0 30px 100px rgba(0,0,0,.22);
}

.hw-sseo-panel-label {
    display:
        block;
    margin-bottom:
        20px;
    color:
        #a8ff00;
    font-size:
        11px;
    font-weight:
        800;
    letter-spacing:
        .15em;
}

.hw-sseo-hero-panel p {
    margin:
        0;
    color:
        rgba(255,255,255,.72);
    font-size:
        17px;
    line-height:
        1.65;
}

.hw-sseo-panel-bottom {
    margin-top:
        30px;
    padding-top:
        18px;
    border-top:
        1px solid rgba(255,255,255,.08);
    color:
        rgba(255,255,255,.38);
    font-size:
        10px;
    font-weight:
        800;
    letter-spacing:
        .15em;
}

.hw-sseo-section {
    padding:
        105px 0;
    border-bottom:
        1px solid rgba(255,255,255,.07);
    content-visibility:
        auto;
    contain-intrinsic-size:
        700px;
}

.hw-sseo-section-dark {
    background:
        rgba(255,255,255,.012);
}

.hw-sseo-section-head {
    display:
        grid;
    grid-template-columns:
        180px 1fr;
    gap:
        30px;
    align-items:
        start;
    margin-bottom:
        55px;
}

.hw-sseo-section-head > span {
    color:
        #69b7ff;
    font-size:
        11px;
    font-weight:
        800;
    letter-spacing:
        .15em;
}

.hw-sseo-section h2,
.hw-sseo-final h2 {
    margin:
        0;
    font-size:
        clamp(38px, 5vw, 68px);
    line-height:
        .98;
    letter-spacing:
        -.045em;
}

.hw-sseo-scope-grid {
    display:
        grid;
    grid-template-columns:
        .8fr 1.2fr;
    gap:
        80px;
}

.hw-sseo-intro {
    margin:
        0;
    color:
        rgba(255,255,255,.68);
    font-size:
        18px;
    line-height:
        1.7;
}

.hw-sseo-benefits {
    list-style:
        none;
    padding:
        0;
    margin:
        0;
    display:
        grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:
        0 32px;
}

.hw-sseo-benefits li {
    display:
        grid;
    grid-template-columns:
        24px 1fr;
    gap:
        14px;
    align-items:
        start;
    padding:
        18px 0;
    border-bottom:
        1px solid rgba(255,255,255,.08);
    color:
        rgba(255,255,255,.84);
    font-size:
        16px;
    line-height:
        1.45;
}

.hw-sseo-check {
    color:
        #a8ff00;
    font-weight:
        900;
}

.hw-sseo-process {
    display:
        grid;
    grid-template-columns:
        repeat(5,minmax(0,1fr));
    border-top:
        1px solid rgba(255,255,255,.09);
    border-bottom:
        1px solid rgba(255,255,255,.09);
}

.hw-sseo-step {
    min-height:
        250px;
    padding:
        25px 20px;
    border-right:
        1px solid rgba(255,255,255,.08);
}

.hw-sseo-step:last-child {
    border-right:
        0;
}

.hw-sseo-step-num {
    color:
        #69b7ff;
    font-size:
        11px;
    font-weight:
        800;
}

.hw-sseo-step h3 {
    margin:
        55px 0 12px;
    font-size:
        19px;
}

.hw-sseo-step p {
    margin:
        0;
    color:
        rgba(255,255,255,.54);
    font-size:
        14px;
    line-height:
        1.6;
}

.hw-sseo-tech,
.hw-sseo-related {
    display:
        grid;
    grid-template-columns:
        1fr 1fr;
    gap:
        80px;
    align-items:
        start;
}

.hw-sseo-tech h2,
.hw-sseo-related h2 {
    margin-top:
        16px;
}

.hw-sseo-tech > p {
    margin:
        0;
    padding-top:
        28px;
    color:
        rgba(255,255,255,.68);
    font-size:
        18px;
    line-height:
        1.72;
}

.hw-sseo-section-faq {
    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(36,126,255,.08),
            transparent 35%
        );
}

.hw-sseo-faq-list {
    max-width:
        900px;
    margin-left:
        auto;
}

.hw-sseo-faq {
    border-top:
        1px solid rgba(255,255,255,.1);
}

.hw-sseo-faq:last-child {
    border-bottom:
        1px solid rgba(255,255,255,.1);
}

.hw-sseo-faq summary {
    position:
        relative;
    cursor:
        pointer;
    list-style:
        none;
    padding:
        24px 45px 24px 0;
    font-size:
        18px;
    font-weight:
        650;
}

.hw-sseo-faq summary::-webkit-details-marker {
    display:
        none;
}

.hw-sseo-faq summary::after {
    content:
        "+";
    position:
        absolute;
    right:
        0;
    top:
        20px;
    color:
        #a8ff00;
    font-size:
        24px;
}

.hw-sseo-faq[open] summary::after {
    content:
        "−";
}

.hw-sseo-faq p {
    max-width:
        760px;
    margin:
        0;
    padding:
        0 45px 25px 0;
    color:
        rgba(255,255,255,.62);
    font-size:
        16px;
    line-height:
        1.7;
}

.hw-sseo-related-list {
    display:
        grid;
}

.hw-sseo-related-link {
    display:
        flex;
    align-items:
        center;
    justify-content:
        space-between;
    gap:
        30px;
    padding:
        18px 0;
    border-bottom:
        1px solid rgba(255,255,255,.09);
    color:
        rgba(255,255,255,.78);
    text-decoration:
        none;
    font-size:
        15px;
}

.hw-sseo-related-link:hover {
    color:
        #a8ff00;
}

.hw-sseo-final {
    position:
        relative;
    overflow:
        hidden;
    padding:
        120px 0 135px;
}

.hw-sseo-final::after {
    content:
        "";
    position:
        absolute;
    width:
        500px;
    height:
        500px;
    left:
        60%;
    bottom:
        -360px;
    border-radius:
        50%;
    box-shadow:
        0 0 160px rgba(34,130,255,.2);
}

.hw-sseo-final h2 {
    max-width:
        850px;
    margin-top:
        20px;
}

.hw-sseo-final p {
    max-width:
        650px;
    margin:
        28px 0 35px;
    color:
        rgba(255,255,255,.62);
    font-size:
        18px;
    line-height:
        1.7;
}


/* ==========================================================
   SERVICES SEO LINK HUB
   ========================================================== */

.hw-seo-hub {
    padding:
        105px 24px;
    border-top:
        1px solid rgba(255,255,255,.07);
    background:
        #050708;
}

.hw-seo-hub-inner {
    width:
        min(1180px,100%);
    margin:
        0 auto;
}

.hw-seo-hub-head {
    max-width:
        780px;
    margin-bottom:
        45px;
}

.hw-seo-hub-head > span {
    color:
        #69b7ff;
    font-size:
        11px;
    font-weight:
        800;
    letter-spacing:
        .15em;
}

.hw-seo-hub-head h2 {
    margin:
        15px 0 18px;
    font-size:
        clamp(38px,5vw,68px);
    line-height:
        1;
    letter-spacing:
        -.045em;
}

.hw-seo-hub-head p {
    max-width:
        640px;
    margin:
        0;
    color:
        rgba(255,255,255,.62);
    font-size:
        17px;
    line-height:
        1.65;
}

.hw-seo-hub-grid {
    display:
        grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    border-top:
        1px solid rgba(255,255,255,.09);
    border-left:
        1px solid rgba(255,255,255,.09);
}

.hw-seo-hub-card {
    min-height:
        180px;
    padding:
        24px;
    border-right:
        1px solid rgba(255,255,255,.09);
    border-bottom:
        1px solid rgba(255,255,255,.09);
    color:
        #fff;
    text-decoration:
        none;
    transition:
        .25s ease;
}

.hw-seo-hub-card:hover {
    background:
        rgba(54,137,255,.06);
}

.hw-seo-hub-card > span {
    display:
        block;
    margin-bottom:
        42px;
    color:
        #69b7ff;
    font-size:
        10px;
    font-weight:
        800;
    letter-spacing:
        .14em;
}

.hw-seo-hub-card strong {
    display:
        block;
    max-width:
        280px;
    font-size:
        18px;
    line-height:
        1.25;
}

.hw-seo-hub-card small {
    display:
        block;
    margin-top:
        20px;
    color:
        #a8ff00;
    font-size:
        11px;
    font-weight:
        800;
    letter-spacing:
        .08em;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 900px) {

    .hw-sseo-shell {
        width:
            min(100% - 32px, 720px);
    }

    .hw-sseo-hero {
        padding:
            120px 0 75px;
    }

    .hw-sseo-breadcrumb {
        margin-bottom:
            34px;
    }

    .hw-sseo-hero-grid,
    .hw-sseo-scope-grid,
    .hw-sseo-tech,
    .hw-sseo-related {
        grid-template-columns:
            1fr;
        gap:
            38px;
    }

    .hw-sseo-hero h1 {
        font-size:
            clamp(43px,13vw,68px);
    }

    .hw-sseo-lead {
        font-size:
            17px;
    }

    .hw-sseo-section {
        padding:
            75px 0;
    }

    .hw-sseo-section-head {
        grid-template-columns:
            1fr;
        gap:
            15px;
        margin-bottom:
            38px;
    }

    .hw-sseo-benefits {
        grid-template-columns:
            1fr;
    }

    .hw-sseo-process {
        grid-template-columns:
            1fr 1fr;
    }

    .hw-sseo-step {
        min-height:
            210px;
        border-bottom:
            1px solid rgba(255,255,255,.08);
    }

    .hw-sseo-step h3 {
        margin-top:
            38px;
    }

    .hw-seo-hub-grid {
        grid-template-columns:
            1fr 1fr;
    }

}


@media (max-width: 560px) {

    .hw-sseo-hero h1 {
        font-size:
            44px;
    }

    .hw-sseo-actions {
        display:
            grid;
    }

    .hw-sseo-btn {
        width:
            100%;
    }

    .hw-sseo-process {
        grid-template-columns:
            1fr;
    }

    .hw-sseo-step {
        min-height:
            0;
    }

    .hw-sseo-step h3 {
        margin-top:
            28px;
    }

    .hw-seo-hub {
        padding:
            75px 16px;
    }

    .hw-seo-hub-grid {
        grid-template-columns:
            1fr;
    }

    .hw-seo-hub-card {
        min-height:
            150px;
    }

}
