/*==================================================
ABOUT PAGE
Jessica Feldman
==================================================*/

/*==================================================
GENERAL
==================================================*/

.about-story,
.beliefs-section,
.learning-section,
.working-section,
.room-section,
.about-ending,
.about-continue{
    padding:90px 0;
}

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

.about-hero{

    padding:55px 0 70px;

}

.about-hero-image{

    position:relative;

    width:min(1000px,90%);

    height:460px;

    margin:auto;

    overflow:hidden;

    border-radius:26px;

    box-shadow:var(--shadow);

}

.about-hero-image > img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center center;

}

.about-hero .hero-overlay{

    position:absolute;

    left:42px;

    bottom:32px;

    width:min(390px,82%);

    padding:26px 30px;

    border-radius:20px;

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

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

}

.about-hero .hero-content h1{

    margin:0 0 12px;

    color:var(--deep-teal);

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

    font-size:clamp(1.8rem,3vw,2.5rem);

    line-height:1.2;

}

.about-hero .hero-content p{

    margin:0;

    color:var(--brown);

    line-height:1.65;

}

/*==================================================
MY STORY
==================================================*/

.about-story{
    background:var(--cream);
}

.story-grid{
    display:grid;
    grid-template-columns:430px minmax(0,1fr);
    gap:90px;
    align-items:center;
}

.story-image img{
    width:100%;
    border-radius:24px;
    box-shadow:var(--shadow);
}

.story-content h2{
    margin-bottom:28px;
    color:var(--deep-teal);
    text-align:left;
}

.story-content p{
    margin-bottom:22px;
    color:var(--brown);
    line-height:1.9;
}

/*==================================================
WHAT I BELIEVE
==================================================*/

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

.belief-grid{

    display:grid;

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

    gap:36px 32px;

    margin-top:60px;

}


.belief-note p{
    color:var(--brown);
    line-height:1.8;
}

/*==================================================
WHAT I BELIEVE — CARD COLORS
==================================================*/

.belief-note{

    padding:34px;

    border-radius:22px;

    background:var(--cream);

    box-shadow:var(--shadow);

    transform:rotate(-1deg);

}

.belief-note:nth-child(1){

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

}

.belief-note:nth-child(1) h3{

    color:var(--deep-teal);

}


.belief-note:nth-child(2){

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

    transform:rotate(1deg);

}

.belief-note:nth-child(2) h3{

    color:var(--magenta);

}


.belief-note:nth-child(3){

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

    transform:rotate(1deg);

}

.belief-note:nth-child(3) h3{

    color:var(--deep-teal);

}


.belief-note:nth-child(4){

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

    transform:rotate(-1deg);

}

.belief-note:nth-child(4) h3{

    color:var(--magenta);

}

/*==================================================
HOW WE LEARN
==================================================*/

.learning-section{

    padding:100px 0;

    background:var(--cream);

}

.learning-grid{

    display:grid;

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

    gap:38px;

    margin-top:60px;

}

.learning-card{

    overflow:hidden;

    border-radius:24px;

    background:var(--cream);

    box-shadow:var(--shadow);

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

}

.learning-card:nth-child(even){

    border-bottom-color:var(--magenta);

}

.learning-card img{

    width:100%;

    height:320px;

    object-fit:cover;

    display:block;

}

.learning-content{

    padding:30px 32px 34px;

}

.learning-content h3{

    margin-bottom:14px;

    color:var(--deep-teal);

}

.learning-content p{

    margin:0;

    color:var(--brown);

    line-height:1.8;

}

/* Experience */

.learning-card:nth-child(3) img{

    object-position:center 25%;

}

/*==================================================
WORKING TOGETHER
==================================================*/

.working-section{
    background:rgba(19,96,94,.07);
}

.working-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

.working-image img{
    width:100%;
    border-radius:24px;
    box-shadow:var(--shadow);
}

.working-content h2{
    margin-bottom:24px;
    color:var(--deep-teal);
    text-align:left;
}

.working-content p{
    margin-bottom:22px;
    color:var(--brown);
    line-height:1.9;
}

/*==================================================
AROUND THE ROOM
==================================================*/

.room-section{
    padding:110px 0;
    background:var(--cream);
}

/*==================================================
CABINET
==================================================*/

.room-cabinet{
    width:100%;
    max-width:1200px;
    margin:70px auto 0;
    padding:24px;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;

    background:
        url("../images/about/light-oak.jpg")
        center/cover;

    border-radius:16px;

    box-shadow:
        0 24px 50px rgba(0,0,0,.22),
        inset 0 2px 3px rgba(255,255,255,.22),
        inset 0 -5px 8px rgba(0,0,0,.14);
}

/*==================================================
CUBBIES
==================================================*/

.room-box{
    position:relative;
    min-height:250px;
    padding:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;
    border-radius:8px;

    /* slightly darker recessed cabinet back */
    background:#e9e3d8;

    box-shadow:
        inset 0 12px 18px rgba(0,0,0,.08),
        inset 0 -50px 38px rgba(0,0,0,.12);
}

/* Taller floor shadow so objects look as though
   they are actually resting inside the cubby. */

.image-box::after{
    content:"";
    position:absolute;

    left:10%;
    right:10%;
    bottom:0;

    height:48px;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.20),
        rgba(0,0,0,.08) 45%,
        transparent
    );

    z-index:0;
    pointer-events:none;
}

/*==================================================
IMAGE CUBBIES
==================================================*/

.image-box img{
    position:relative;
    z-index:2;

    max-width:250px;
    max-height:250px;

    object-fit:contain;

    filter:
        drop-shadow(0 7px 5px rgba(0,0,0,.14))
        drop-shadow(0 20px 16px rgba(0,0,0,.11));
}

/*==================================================
TEXT CUBBIES
==================================================*/

.text-box{
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    text-align:left;
}

.text-box h3{
    margin-bottom:14px;
    color:var(--deep-teal);
    line-height:1.3;
}

.text-box p{
    max-width:95%;
    color:var(--brown);
    line-height:1.8;
}

/* Add small brand-color accents to the text cubbies */

.text-box::before{
    content:"";
    width:54px;
    height:4px;
    margin-bottom:18px;
    border-radius:999px;
    background:var(--teal);
}

.text-box:nth-child(4n)::before{
    background:var(--magenta);
}

.text-box:nth-child(4n + 2)::before{
    background:var(--deep-teal);
}

/*==================================================
OBJECT PLACEMENT
==================================================*/

.obj-shoes{
    transform:
        rotate(-6deg)
        translateY(18px);
}

.obj-game{
    transform:
        rotate(-3deg)
        translateY(16px);
}

.obj-journal{
    transform:
        rotate(4deg)
        translateY(18px);
}

.obj-tea{
    transform:
        rotate(-4deg)
        translateY(16px);
}

.obj-compass{
    transform:
        rotate(3deg)
        translateY(18px);
}

/* Cards are intentionally larger than the other objects */

.obj-cards{
    max-width:310px !important;
    max-height:310px !important;

    transform:
        rotate(5deg)
        translate(34px,16px);

    filter:
        drop-shadow(0 8px 5px rgba(0,0,0,.16))
        drop-shadow(0 24px 18px rgba(0,0,0,.13));
}

/*==================================================
BACKGROUND STRIP
==================================================*/

.background-strip{

    padding:26px 0;

    background:var(--teal);

    text-align:center;

}

.background-strip p{

    margin:0;

    color:var(--deep-teal);

    font-size:.98rem;

    line-height:2;

}

.background-strip strong{

    color:var(--magenta);

}

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

.about-ending{
    text-align:center;

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

.about-ending h2{
    margin-bottom:30px;
    color:var(--deep-teal);
}

.about-ending p{
    max-width:760px;
    margin:0 auto 22px;
    color:var(--brown);
    line-height:1.9;
}

.about-ending .button{
    margin-top:20px;
}

.signature{
    margin-top:50px;

    color:var(--magenta);

    font-family:var(--heading-font);
    font-size:1.25rem;
}

/*==================================================
CONTINUE / NEXT STEPS
Shared continue-card/grid styles live in style.css.
==================================================*/

.about-continue,
.dating-continue{
    position:relative;
    padding:90px 0;
    background:rgba(22,207,191,.08);
}

.about-continue::before,
.dating-continue::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:8px;

    background:linear-gradient(
        90deg,
        var(--teal),
        var(--magenta),
        var(--deep-teal)
    );
}

.about-continue h2,
.dating-continue h2{
    color:var(--deep-teal);
    text-align:center;
}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:900px){
    .story-grid{
        grid-template-columns:1fr;
        gap:55px;
    }

    .story-image{
        width:min(430px,100%);
        margin:auto;
    }

    .belief-grid,
    .learning-grid{
        grid-template-columns:1fr;
    }

    .working-grid{
        grid-template-columns:1fr;
        gap:50px;
    }

    .room-cabinet{
        grid-template-columns:1fr;
    }

    .room-box{
        min-height:220px;
        padding:30px;
    }

    .text-box{
        align-items:center;
        text-align:center;
    }

    .text-box p{
        max-width:100%;
    }

    .text-box::before{
        margin-left:auto;
        margin-right:auto;
    }

    .image-box img{
        max-width:180px;
        max-height:180px;
    }

    .obj-cards{
        max-width:235px !important;
        max-height:235px !important;

        transform:
            rotate(5deg)
            translateY(12px);
    }

    .about-hero .room-hero-image img{
        height:480px;
    }

    .about-hero .hero-overlay{
        left:35px;
        bottom:35px;
    }
}

@media(max-width:700px){
    .about-story,
    .beliefs-section,
    .learning-section,
    .working-section,
    .room-section,
    .about-ending,
    .about-continue,
    .dating-continue{
        padding:70px 0;
    }

@media(max-width:700px){

    .about-hero{

        padding:0;

    }

    .about-hero-image{

        width:100%;

        height:auto;

        border-radius:0;

    }

    .about-hero-image > img{

        height:390px;

    }

    .about-hero .hero-overlay{

        position:relative;

        left:auto;
        bottom:auto;

        width:auto;

        padding:26px 22px;

        border-radius:0;

        background:var(--cream);

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

    }

}

    .room-cabinet{
        width:94%;
        padding:16px;
        gap:12px;
    }

    .room-box{
        min-height:200px;
        padding:24px;
    }

    .image-box img{
        max-width:150px;
        max-height:150px;
    }

    .obj-cards{
        max-width:205px !important;
        max-height:205px !important;
    }

    .background-strip{
        padding:24px 20px;
    }

    .background-strip p{
        line-height:1.8;
    }
}

@media(max-width:500px){
    .about-hero .hero-content h1,
    .about-hero .hero-content h2{
        font-size:1.6rem;
    }

    .about-hero .hero-overlay{
        padding:24px;
    }

    .room-cabinet{
        padding:12px;
    }

    .room-box{
        padding:20px;
    }

    .image-box img{
        max-width:130px;
        max-height:130px;
    }

    .obj-cards{
        max-width:180px !important;
        max-height:180px !important;
    }
}

/*==================================================
REDUCED MOTION
==================================================*/

@media(prefers-reduced-motion:reduce){
    .learning-card{
        transition:none;
    }

    .learning-card:hover{
        transform:none;
    }
}

@media(max-width:900px){

    .learning-grid{

        grid-template-columns:1fr;

        max-width:680px;

        margin-left:auto;
        margin-right:auto;

    }

    .learning-card img{

        height:340px;

    }

}

@media(max-width:500px){

    .learning-card img{

        height:260px;

    }

    .learning-content{

        padding:24px;

    }

}