* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--cream);
    color: var(--black);
}

h1 {
    /* font-size: clamp(3em, 6vw, 6em); */
    /* font-size: clamp(2.5em, 6vw, 5em); */
    font-size: clamp(2.5em, 6vw, 6em);
}

#graphic h1 {
    font-size: clamp(2.5em, 6vw, 5em);
}

main {
    display: flex;
    justify-content: center;
}

article {
    text-align: center;
    width: 90%;
    padding-bottom: 4em;
    ;
}

article .title {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 6em;
    margin-top: clamp(1em, 4vw, 4em);
}

article h1 {
    position: relative;
    /* font-size: 7em; */
    letter-spacing: 0.07em;
    font-weight: 900;
    color: #000;
    text-transform: uppercase;
    z-index: 1;
    /* padding: 0 1em; */
}

article h1::before {
    position: absolute;
    content: attr(data-title);
    color: var(--blue);
    z-index: -1;
    transform: translate(0.1em, -0.07em);
    width: 100%;
    top: 0;
    left: 0;
}

article .description {
    font-size: clamp(1.1em, 1.5vw, 1.2em);
    font-weight: 300;
    text-align: center;
    max-width: 62em;
    margin-top: 0.3em;
}


@media (min-width:626px) {
    header .description br {
        display: none;
    }
}

.service-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.service-grid .row {
    display: flex;
    /* background: lightblue; */
    justify-content: space-evenly;
    /* width: 60%; */
    flex-wrap: wrap;
}

.service-grid .row:not(:nth-of-type(3)) {
    margin-bottom: 3em;
}

.service-grid .s1 {
    width: 60%;
}

.service-grid .s2 {
    width: 90%;
}

.service-grid .s3 {
    width: 31%;
}

/* .service-grid .row:nth-of-type(2) { */
.service-grid h3 {
    margin: .5em 0;
}

.service-grid .row h3 {
    /* font-size: 1.3em; */
    font-weight: 200;
    padding: 8px;
    /* border: 1px solid black; */
    border-top: 1px solid black;
    border-bottom: 1px solid black;
    border-left: none;
    border-right: none;
    min-width: 11em;
    padding-inline: 1em;
}

/* clickeable */

article .service-grid .s1 a {
    text-decoration: none;
    color: #000;
}

article .service-grid .s1 h3:hover,
article .service-grid .s2 h3:hover,
article .service-grid .s3 h3:hover {
    border-top: 1px solid #00d3f5;
    border-bottom: 1px solid #00d3f5;
}

/* start control hoverable text */

article .service-grid .s1 .tooltip:before,
article .service-grid .s1 .tooltip:after {
    position: absolute;
    content: '';
    opacity: 0;
    transition: all .4s ease;
}

article .service-grid .s1 .tooltip:before {
    border-width: 10px 8px 0 8px;
    border-style: solid;
    border-color: #00d3f5 transparent transparent transparent;
    top: -15px;
    transform: translateY(20px);
}

article .service-grid .s1 .tooltip::after {
    content: attr(data-tooltip);
    background: #eee5dcff;
    color: #000;
    width: 260px;
    height: 65px;
    font-size: 13px;

    font-weight: 300;
    top: -115px;
    left: -10px;
    padding: 15px;
    border: 3px solid #000;
    letter-spacing: 1px;
    transform: translateY(20px);
}

article .service-grid .s1 .tooltip:hover::before,
article .service-grid .s1 .tooltip:hover::after {
    opacity: 1;
    transform: translateY(-2px);
}

@keyframes shake {
    0% {
        transform: rotate(2deg);
    }

    50% {
        transform: rotate(-3deg);
    }

    70% {
        transform: rotate(3deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

/* buttons */
article .buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
    margin-top: 5em;
    column-gap: 5em;
    row-gap: 1em;
}

article .main-button {
    font-size: clamp(1em, 2vw, 2em)
}

#graphic .s1 {
    width: 62%;
}

#graphic .s2 {
    width: 79%;
}

#graphic .s3 {
    width: 56%;
}

#web .s3 {
    width: 66%;
}

#marketing .s3 {
    width: 76%;
}

#photo .s1 {
    width: 95%;
}

#photo .s2 {
    width: 95%;
}

#photo .s3 {
    width: 85%;
}

#photo .s4 {
    width: 70%;
}

.services-header {
    font-size: 2em;
    font-weight: 900;
    border-bottom: .2rem solid;
    width: fit-content;
    padding-inline: clamp(0em, -1em + 10vw, 5em);
    margin: 1em auto;
}