.about-intro {
    align-items: end;
    display: grid;
    gap: 70px;
    grid-template-columns: 1.05fr .95fr;
    margin: auto;
    max-width: 1200px;
    min-height: 560px;
    padding: 70px 28px 100px;
}
.about-intro-copy { padding-bottom: 35px; }
.about-intro h1 {
    font-family: var(--sniglet);
    font-size: clamp(76px, 11vw, 150px);
    letter-spacing: -.06em;
    line-height: .8;
    margin: 28px 0 40px;
}
.about-intro p {
    color: var(--body);
    font-size: 19px;
    line-height: 1.7;
    margin: 0;
    max-width: 600px;
}
.about-cat {
    align-items: end;
    display: flex;
    height: 420px;
    justify-content: flex-end;
}
.about-cat img {
    height: 380px;
    max-width: 100%;
    object-fit: contain;
    object-position: bottom center;
    width: auto;
}

.about-profile {
    align-items: center;
    display: grid;
    gap: 70px;
    grid-template-columns: .85fr 1.15fr;
    margin: auto;
    max-width: 950px;
    padding: 80px 28px 120px;
}
.about-portrait {
    border: 3px solid var(--ink);
    border-radius: 48% 48% 45px 45px;
    box-shadow: 10px 10px 0 var(--ink);
    height: 480px;
    overflow: hidden;
    position: relative;
    transform: rotate(-2deg);
}
.about-portrait img {
    border-radius: 0;
    height: 105%;
    object-fit: cover;
    object-position: center;
    width: 105%;
}
.about-portrait i {
    background: var(--red);
    border: 2px solid var(--ink);
    border-radius: 999px;
    color: var(--white);
    font-family: var(--sniglet);
    font-style: normal;
    padding: 12px 21px;
    position: absolute;
    right: -25px;
    top: 90px;
    transform: rotate(9deg);
}
.about-facts {
    display: grid;
    gap: 12px;
    margin: 0;
}
.about-facts > div {
    background: var(--paper);
    border: 3px solid var(--ink);
    border-radius: 22px;
    box-shadow: 5px 5px 0 var(--ink);
    padding: 18px 20px;
}
.about-facts dt {
    color: var(--body);
    font-size: 12px;
    letter-spacing: .08em;
    margin-bottom: 6px;
    text-transform: uppercase;
}
.about-facts dd {
    font-family: var(--sniglet);
    font-size: clamp(20px, 2.5vw, 30px);
    margin: 0;
}

.about-hobbies {
    background: var(--ink);
    border-radius: 70px 70px 0 0;
    color: var(--white);
    padding: 110px max(28px, calc((100vw - 1144px)/2)) 180px;
}
.about-hobbies-heading {
    align-items: end;
    display: grid;
    gap: 60px;
    grid-template-columns: 1.1fr .9fr;
    margin-bottom: 65px;
}
.about-hobbies-heading p {
    color: var(--softblue);
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
}
.about-hobbies-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(3, 1fr);
}
.about-hobby {
    background: var(--paper);
    border: 3px solid var(--white);
    border-radius: 35px;
    box-shadow: 7px 7px 0 var(--white);
    color: var(--ink);
    overflow: hidden;
}
.about-hobby:first-child { border-radius: 35px 35px 35px 80px; }
.about-hobby:last-child { border-radius: 35px 80px 35px 35px; }
.about-hobby > img {
    height: 245px;
    object-fit: cover;
    width: 100%;
}
.about-hobby > div { padding: 24px; }
.about-hobby h3 {
    font-family: var(--sniglet);
    font-size: 30px;
    margin: 0 0 12px;
}
.about-hobby p {
    color: var(--body);
    line-height: 1.6;
    margin: 0;
}

.about-contact {
    background: var(--yellow);
    border-radius: 70px 70px 0 0;
    color: var(--ink);
    margin-top: -70px;
    padding: 105px max(28px, calc((100vw - 1144px)/2));
    position: relative;
    text-align: center;
}
.about-contact .section-title {
    font-size: clamp(58px, 8vw, 105px);
    margin-bottom: 25px;
}
.about-contact > p {
    font-size: 18px;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 650px;
}
.about-contact .btn {
    font-size: 18px;
    margin-top: 30px;
    padding: 17px 24px;
}

@media (max-width: 900px) {
    .about-intro { gap: 45px; grid-template-columns: 1fr; padding-top: 50px; }
    .about-cat { margin: auto; max-width: 580px; width: 100%; }
    .about-profile { gap: 45px; grid-template-columns: .9fr 1.1fr; }
    .about-hobbies-heading { align-items: start; gap: 30px; grid-template-columns: 1fr; }
    .about-hobbies-grid { grid-template-columns: 1fr; }
    .about-hobby { display: grid; grid-template-columns: .8fr 1.2fr; }
    .about-hobby > img { height: 100%; min-height: 240px; }
}

@media (max-width: 620px) {
    .about-intro { padding: 45px 20px 80px; }
    .about-intro h1 { font-size: clamp(64px, 22vw, 100px); }
    .about-intro p { font-size: 17px; }
    .about-cat { height: 300px; justify-content: center; }
    .about-cat img { height: 270px; }
    .about-profile { gap: 45px; grid-template-columns: 1fr; padding: 45px 36px 80px; }
    .about-portrait { height: 400px; margin: auto; max-width: 330px; width: 100%; }
    .about-portrait i { right: -8px; top: 50px; }
    .about-facts > div { padding: 13px 16px; }
    .about-hobbies { border-radius: 45px 45px 0 0; padding-block: 80px 140px; }
    .about-hobby { display: block; }
    .about-hobby > img { height: 230px; min-height: 0; }
    .about-contact { border-radius: 45px 45px 0 0; margin-top: -45px; padding-block: 80px; }
}
