.hero {
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:24px;
    align-items:center;
    padding:65px 0 60px;
    min-height:620px
}

.hero-copy {
    position:relative;
    z-index:2
}

.mini-star {
    color:var(--red);
    font-size:1.3rem;
    vertical-align:middle
}

.hero h1 {
    line-height:.94;
    transform:rotate(-2deg);
    transform-origin:left center;
    margin-bottom:36px
}

.underline {
    position:relative;
    display:inline-block;
    white-space:nowrap
}

.underline:after {
    content:'';
    position:absolute;
    left:0;
    bottom:-13px;
    width:98%;
    height:8px;
    background:var(--red);
    border-radius:50%;
    transform:rotate(-2deg)
}

.lead {
    font-size:1.2rem;
    font-weight:500;
    line-height:1.5;
    margin-bottom:28px
}

.actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px
}

.handwritten {
    font:800 1.55rem/1.15 var(--display);
    font-style:italic;
    transform:rotate(-4deg);
    margin-top:30px;
    max-width:290px
}

.handwritten span {
    color:var(--red);
    font-size:2.2rem;
    margin-left:10px
}

.hero-art {
    min-width:0;
    position:relative;
    padding:28px 10px 20px
}

.skill {
    position:absolute;
    right:-2px;
    top:-4px;
    transform:rotate(8deg)
}

.crew {
    position:absolute;
    right:-4px;
    bottom:15px;
    font-size:2rem;
    transform:rotate(-9deg);
    color:var(--blue)
}

.doodle {
    position:absolute;
    left:-28px;
    top:44px;
    font-size:5rem;
    color:var(--red);
    line-height:1
}

.image-note {
    position:absolute;
    bottom:30px;
    left:35px;
    background:#ffffffed;
    border-radius:20px;
    padding:3px 10px;
    font-size:.75rem
}

.ticker {
    display:flex;
    align-items:center;
    justify-content:space-around;
    gap:12px;
    background:var(--blue);
    color:white;
    border-radius:8px;
    min-height:62px;
    font-size:1rem;
    font-weight:800;
    letter-spacing:.06em;
    transform:rotate(-.6deg);
    padding:14px
}

.ticker span:first-child {
    color:white
}

.section-title {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:30px;
    margin-bottom:30px
}

.section-title .eyebrow {
    margin-bottom:12px
}

.section-title>p {
    font-size:.94rem
}

.benefits {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}

.benefit {
    border-radius:24px;
    padding:28px;
    position:relative;
    overflow:hidden;
    min-height:320px
}

.benefit h3 {
    font-size:3.5rem;
    margin:30px 0 20px
}

.benefit p {
    max-width:30ch;
    font-size:.94rem
}

.parent-strip {
    display:flex;
    align-items:center;
    gap:24px;
    border:1px solid var(--border);
    border-radius:22px;
    background:white;
    padding:25px;
    margin-bottom:70px
}

.parent-icon {
    font-size:3rem;
    color:var(--blue)
}

.parent-strip h3 {
    font-size:1.6rem;
    flex:0 0 230px;
    line-height:1.12
}

.parent-strip p {
    font-size:.9rem;
    flex:1
}

.parent-strip a {
    color:var(--blue);
    font-weight:800;
    white-space:nowrap
}

.join {
    background:var(--blue);
    color:white;
    border-radius:24px;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:42px 48px;
    margin:25px 0 45px;
    gap:30px
}

.join .eyebrow {
    margin-bottom:14px
}

.join h2 {
    font-size:clamp(3.3rem,5vw,5.5rem);
    position:relative;
    z-index:1
}

.join .button {
    position:relative;
    z-index:1
}

.join-star {
    position:absolute;
    right:22%;
    font-size:17rem;
    line-height:1;
    color:#ffffff18;
    transform:rotate(12deg)
}

@media(max-width:1100px) {

    .hero {
        gap:15px
    }

    .hero h1 {
        font-size:6.3rem
    }

    .hero .button {
        padding:13px 17px;
        gap:12px;
        font-size:.92rem
    }

    .parent-strip {
        flex-wrap:wrap
    }

    .parent-strip h3 {
        flex-basis:230px
    }

    .parent-strip p {
        min-width:200px
    }

}

@media(max-width:900px) {

    .hero h1 {
        font-size:5.3rem
    }

    .hero-art {
        padding-left:0
    }

    .crew {
        font-size:1.6rem
    }

    .hero {
        min-height:0;
        padding:60px 0
    }

    .lead {
        font-size:1.06rem
    }

    .hero .actions {
        flex-direction:column;
        align-items:start
    }

    .benefit {
        padding:22px
    }

    .benefit h3 {
        font-size:3rem
    }

    .ticker {
        font-size:.8rem
    }

    .join {
        padding:35px
    }

}

@media(max-width:650px) {

    .hero {
        grid-template-columns:1fr;
        padding:38px 0 42px;
        gap:30px
    }

    .hero h1 {
        font-size:clamp(3.8rem,15vw,6.5rem);
        margin-bottom:30px
    }

    .hero .actions {
        flex-direction:row;
        align-items:stretch
    }

    .hero .button {
        font-size:.88rem;
        padding:13px 17px;
        gap:12px
    }

    .lead {
        font-size:1.05rem
    }

    .handwritten {
        margin-top:24px;
        font-size:1.35rem
    }

    .hero-art {
        margin:10px 14px 0;
        padding:15px 0
    }

    .skill {
        right:-12px;
        top:-10px
    }

    .crew {
        right:-10px;
        bottom:12px
    }

    .doodle {
        font-size:3.6rem;
        left:-20px
    }

    .ticker {
        gap:8px;
        justify-content:space-between;
        padding:15px 9px;
        font-size:.64rem;
        letter-spacing:0;
        min-height:50px
    }

    .section-title {
        display:block
    }

    .section-title>p {
        margin-top:18px
    }

    .section-title h2 {
        font-size:3.2rem
    }

    .benefits {
        grid-template-columns:1fr;
        gap:16px
    }

    .benefit {
        padding:26px;
        min-height:0
    }

    .benefit h3 {
        font-size:3.3rem;
        margin:22px 0 16px
    }

    .benefit p {
        max-width:38ch
    }

    .parent-strip {
        padding:22px;
        gap:15px;
        margin-bottom:45px
    }

    .parent-strip h3 {
        flex:1;
        font-size:1.5rem
    }

    .parent-strip p {
        flex-basis:100%
    }

    .parent-strip a {
        font-size:.95rem
    }

    .join {
        padding:30px 25px;
        flex-direction:column;
        align-items:start;
        border-radius:20px;
        margin-bottom:35px
    }

    .join h2 {
        font-size:3.5rem
    }

    .join-star {
        right:-25px;
        font-size:14rem
    }

    .join .button {
        padding:12px 23px
    }

}

/* =========================
   FOOTER ADMIN
========================= */

.footer-admin {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    margin-left:auto;
}

.footer-admin p {
    margin:0;
    white-space:nowrap;
}

.admin-login-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    padding:9px 14px;

    background:transparent;
    color:#657086;

    border:1px solid var(--border);
    border-radius:999px;

    font-size:.62rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
    text-decoration:none;

    white-space:nowrap;

    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.admin-login-icon {
    font-size:.75rem;
}

.admin-login-link:hover {
    color:var(--blue);
    border-color:var(--blue);
    background:#fff;
    transform:translateY(-2px);
}


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

@media(max-width:650px) {

    .footer-admin {
        width:100%;
        margin-left:0;
        margin-top:8px;

        display:flex;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        gap:15px;
    }

    .footer-admin p {
        margin:0;
        font-size:.68rem;
        white-space:nowrap;
    }

    .admin-login-link {
        flex:0 0 auto;

        padding:9px 13px;

        background:var(--blue);
        color:#fff;
        border-color:var(--blue);

        font-size:.6rem;
    }

    .admin-login-icon {
        font-size:.72rem;
    }

}
