/*==================================================
SPEED CONNECTIONS
Jessica Feldman
==================================================*/


/*==================================================
HERO
==================================================*/

.speed-hero{
    padding:70px 0;
}

.speed-hero-image{
    position:relative;

    width:min(1100px,92%);
    height:560px;

    margin:auto;

    overflow:hidden;

    border-radius:28px;

    box-shadow:var(--shadow);
}

.speed-hero-image img{
    width:100%;
    height:100%;

    object-fit:cover;
}

.speed-hero-panel{

    position:absolute;

    left:50%;
    bottom:10px;

    transform:translateX(-50%);

    width:min(900px,86%);

    padding:16px 28px;

    border-radius:18px;

    background:rgba(248,248,238,.88);

    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);

    box-shadow:0 10px 28px rgba(0,0,0,.10);

}

.speed-eyebrow{
    margin:0 0 10px;

    color:var(--magenta);

    font-size:.82rem;
    font-weight:700;

    letter-spacing:.12em;
    text-transform:uppercase;
}

.speed-hero-panel h1{

    margin:0 0 8px;

    color:var(--deep-teal);

    font-size:clamp(1.65rem,2.6vw,2.4rem);

    line-height:1.12;

}

.speed-hero-panel p:last-child{

    max-width:760px;

    margin:0;

    color:var(--brown);

    font-size:.95rem;

    line-height:1.55;

}

.speed-hero-panel .speed-eyebrow{

    margin-bottom:5px;

    font-size:.75rem;

}


/*==================================================
INTRO
==================================================*/

.speed-intro{
    padding:100px 0;

    text-align:center;
}

.speed-intro p{
    max-width:720px;

    margin:0 auto 22px;

    color:var(--brown);

    font-size:1.12rem;

    line-height:1.9;
}

.speed-emphasis{
    margin-top:38px !important;

    color:var(--magenta) !important;

    font-family:var(--heading-font);

    font-size:1.6rem !important;
}


/*==================================================
WHAT MAKES IT DIFFERENT
==================================================*/

.speed-different{
    padding:105px 0;

    background:
        linear-gradient(
            135deg,
            rgba(22,207,191,.10),
            rgba(162,34,130,.06)
        ),
        var(--cream);
}

.difference-grid{
    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:28px;

    margin-top:60px;
}

.difference-card{
    min-height:245px;

    padding:34px;

    border-radius:22px;

    background:var(--cream);

    box-shadow:var(--shadow);

    border-left:7px solid var(--teal);
}

.difference-card:nth-child(2){
    border-left-color:var(--magenta);
}

.difference-card:nth-child(3){
    border-left-color:var(--deep-teal);
}

.difference-card:nth-child(4){
    border-left-color:var(--teal);
}

.difference-number{
    display:block;

    margin-bottom:24px;

    color:var(--magenta);

    font-family:var(--heading-font);

    font-size:1.7rem;

    opacity:.6;
}

.difference-card h3{
    margin-bottom:12px;

    color:var(--deep-teal);
}

.difference-card p{
    margin:0;

    color:var(--brown);

    line-height:1.8;
}


/*==================================================
ROUNDS
==================================================*/

.rounds-section{
    padding:110px 0;

    background:var(--deep-teal);
}

.rounds-section .section-heading h2,
.rounds-section .section-heading p{
    color:var(--cream);
}

.round-table{
    width:min(1050px,94%);

    margin:65px auto 0;

    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:26px;
}

.round-card{
    min-height:220px;

    padding:30px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    border-radius:18px;

    background:var(--cream);

    box-shadow:0 15px 34px rgba(0,0,0,.14);
}

.round-card span{
    display:block;

    margin-bottom:14px;

    color:var(--magenta);

    font-size:.76rem;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;
}

.round-card h3{
    margin-bottom:10px;

    color:var(--deep-teal);
}

.round-card p{
    margin:0;

    color:var(--brown);

    line-height:1.7;
}

.round-one,
.round-five{
    transform:rotate(-1.5deg);

    border-top:5px solid var(--teal);
}

.round-two,
.round-four{
    transform:rotate(1.5deg);

    border-top:5px solid var(--magenta);
}

.round-three,
.round-six{
    border-top:5px solid var(--deep-teal);
}


/*==================================================
PRACTICE
==================================================*/

.speed-practice{
    padding:110px 0;

    background:var(--cream);
}

.practice-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;
}

.practice-content h2{
    margin-bottom:25px;

    color:var(--deep-teal);

    text-align:left;
}

.practice-content p{
    color:var(--brown);

    line-height:1.85;
}

.practice-stack{
    position:relative;

    min-height:440px;
}

.practice-note{
    position:absolute;

    padding:18px 25px;

    border-radius:14px;

    font-family:var(--heading-font);

    font-size:1.15rem;

    box-shadow:var(--shadow);
}

.note-listen{
    top:15px;
    left:25px;

    background:var(--teal);

    color:var(--deep-teal);

    transform:rotate(-5deg);
}

.note-curious{
    top:50px;
    right:25px;

    background:var(--magenta);

    color:var(--cream);

    transform:rotate(4deg);
}

.note-story{
    top:155px;
    left:95px;

    background:var(--cream);

    color:var(--deep-teal);

    border:3px solid var(--deep-teal);

    transform:rotate(2deg);
}

.note-follow{
    top:225px;
    right:30px;

    background:var(--deep-teal);

    color:var(--cream);

    transform:rotate(-4deg);
}

.note-present{
    bottom:55px;
    left:35px;

    background:var(--magenta);

    color:var(--cream);

    transform:rotate(4deg);
}

.note-yourself{
    bottom:15px;
    right:85px;

    background:var(--teal);

    color:var(--deep-teal);

    transform:rotate(-3deg);
}


/*==================================================
REAL LIFE MESSAGE
==================================================*/

.speed-message{
    padding:105px 0;

    background:var(--magenta);

    text-align:center;
}

.speed-message h2{
    margin-bottom:28px;

    color:var(--cream);
}

.speed-message p{
    max-width:720px;

    margin:0 auto 20px;

    color:var(--cream);

    line-height:1.85;
}

.message-highlight{
    margin-top:35px !important;

    padding:25px 30px;

    border-radius:18px;

    background:rgba(248,248,238,.95);

    color:var(--deep-teal) !important;

    font-family:var(--heading-font);

    font-size:1.22rem;

    line-height:1.7 !important;
}


/*==================================================
WHAT YOU MAY NOTICE
==================================================*/

.speed-notice{
    padding:105px 0;

    background:
        linear-gradient(
            135deg,
            rgba(22,207,191,.08),
            rgba(19,96,94,.05)
        ),
        var(--cream);
}

.notice-grid{
    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:24px;

    margin-top:55px;
}

.notice-item{
    min-height:140px;

    padding:30px;

    display:flex;

    align-items:center;

    border-radius:20px;

    background:var(--cream);

    box-shadow:var(--shadow);

    border-bottom:5px solid var(--teal);
}

.notice-item:nth-child(even){
    border-bottom-color:var(--magenta);
}

.notice-item:nth-child(3n){
    border-bottom-color:var(--deep-teal);
}

.notice-item span{
    color:var(--deep-teal);

    font-family:var(--heading-font);

    font-size:1.12rem;

    line-height:1.55;
}


/*==================================================
SINGLES
==================================================*/

.singles-section{
    padding:110px 0;

    background:var(--cream);
}

.singles-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;
}

.singles-copy h2{
    margin-bottom:25px;

    color:var(--deep-teal);

    text-align:left;
}

.singles-copy p{
    color:var(--brown);

    line-height:1.85;
}

.singles-highlight{
    margin-top:30px;

    padding-left:22px;

    border-left:5px solid var(--magenta);

    color:var(--deep-teal) !important;

    font-family:var(--heading-font);

    font-size:1.3rem;
}

.singles-visual{
    position:relative;

    min-height:430px;
}

.conversation-bubble{
    position:absolute;

    max-width:230px;

    padding:17px 22px;

    border-radius:24px;

    font-family:var(--heading-font);

    box-shadow:var(--shadow);
}

.bubble-one{
    top:20px;
    left:20px;

    background:var(--teal);

    color:var(--deep-teal);
}

.bubble-two{
    top:85px;
    right:20px;

    background:var(--cream);

    color:var(--magenta);

    border:3px solid var(--magenta);
}

.bubble-three{
    top:185px;
    left:65px;

    background:var(--deep-teal);

    color:var(--cream);
}

.bubble-four{
    bottom:75px;
    right:35px;

    background:var(--magenta);

    color:var(--cream);
}

.bubble-five{
    bottom:10px;
    left:25px;

    background:var(--teal);

    color:var(--deep-teal);
}


/*==================================================
OTHER GROUPS
==================================================*/

.other-groups{
    padding:105px 0;

    background:var(--deep-teal);
}

.other-groups .section-heading h2,
.other-groups .section-heading p{
    color:var(--cream);
}

.group-grid{
    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:24px;

    margin-top:55px;
}

.group-card{
    padding:30px;

    border-radius:20px;

    background:var(--cream);

    box-shadow:0 14px 30px rgba(0,0,0,.12);
}

.group-card h3{
    margin-bottom:12px;

    color:var(--deep-teal);
}

.group-card p{
    margin:0;

    color:var(--brown);

    line-height:1.75;
}


/*==================================================
CUSTOM
==================================================*/

.speed-custom{
    padding:105px 0;

    background:
        linear-gradient(
            135deg,
            rgba(162,34,130,.08),
            rgba(22,207,191,.08)
        ),
        var(--cream);

    text-align:center;
}

.speed-custom h2{
    margin-bottom:25px;

    color:var(--deep-teal);
}

.speed-custom p{
    max-width:720px;

    margin:0 auto 20px;

    color:var(--brown);

    line-height:1.85;
}


/*==================================================
ENDING
==================================================*/

.speed-ending{
    padding:110px 0;

    text-align:center;

    background:var(--cream);
}

.speed-ending h2{
    margin-bottom:20px;

    color:var(--deep-teal);
}

.speed-ending p{
    max-width:650px;

    margin:0 auto 30px;

    color:var(--brown);

    font-size:1.08rem;

    line-height:1.8;
}


/*==================================================
CONTINUE
==================================================*/

.continue-section{
    padding:90px 0;

    background:rgba(22,207,191,.07);
}

.continue-section .section-title h2{
    margin-bottom:50px;

    color:var(--deep-teal);

    text-align:center;
}


/*==================================================
TABLET
==================================================*/

@media(max-width:900px){

    .round-table{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .practice-grid,
    .singles-grid{
        grid-template-columns:1fr;

        gap:45px;
    }

    .group-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}


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

@media(max-width:700px){

    .speed-hero{
        padding:0;
    }

    .speed-hero-image{
        width:100%;
        height:auto;

        border-radius:0;
    }

    .speed-hero-image img{
        height:420px;
    }

@media(max-width:700px){

    .speed-hero-panel{

        position:relative;

        left:auto;
        bottom:auto;

        transform:none;

        width:auto;

        padding:28px 22px;

        border-radius:0;

        background:var(--cream);

        backdrop-filter:none;
        -webkit-backdrop-filter:none;

        box-shadow:none;

    }

}

    .speed-intro,
    .speed-different,
    .rounds-section,
    .speed-practice,
    .speed-message,
    .speed-notice,
    .singles-section,
    .other-groups,
    .speed-custom,
    .speed-ending,
    .continue-section{
        padding:70px 0;
    }

    .difference-grid,
    .round-table,
    .notice-grid,
    .group-grid{
        grid-template-columns:1fr;
    }

    .round-card{
        min-height:170px;

        transform:none;
    }

    .practice-stack,
    .singles-visual{
        min-height:360px;
    }

}


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

@media(max-width:450px){

    .speed-hero-image img{
        height:350px;
    }

    .difference-card,
    .round-card,
    .group-card,
    .notice-item{
        padding:25px 22px;
    }

    .practice-note,
    .conversation-bubble{
        padding:14px 17px;

        font-size:.95rem;
    }

}