/*==================================================
SOL GABRIEL
Portfolio v2
==================================================*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=Inter:wght@300;400;500&display=swap');

:root{

--bg:#fdfcf8;
--text:#161616;
--grey:#777;
--line:#d9d9d9;

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

background:var(--bg);
color:var(--text);

font-family:'Inter',sans-serif;

overflow-x:hidden;

-webkit-font-smoothing:antialiased;

}

/*==========================
Texture
==========================*/

body::before{

content:"";

position:fixed;

inset:0;

pointer-events:none;

opacity:.07;

background:

radial-gradient(circle at 20% 20%,rgba(0,0,0,.03),transparent 45%),

radial-gradient(circle at 80% 80%,rgba(0,0,0,.02),transparent 45%);

z-index:-1;

}

/*==========================
Navigation
==========================*/

.navigation{

    position:fixed;

    top:45px;

    right:70px;

    width:auto;

    z-index:100;

    display:flex;

    justify-content:flex-end;

}

.logo{

    position:relative;

    font-family:"Cormorant Garamond",serif;

    font-size:4rem;

    font-weight:500;

    letter-spacing:.22em;

    color:#111;

    text-decoration:none;

    margin-bottom:.8rem;

    color:#111;

text-rendering:optimizeLegibility;

}

.menu-button{

background:none;

border:none;

cursor:pointer;

font-family:"Inter",sans-serif;

font-size:.72rem;

letter-spacing:.35em;

text-transform:uppercase;

color:#111;

display:flex;

flex-direction:column;

align-items:flex-end;

gap:10px;

}

.menu-button span{

width:18px;

height:1px;

background:#111;

display:block;

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

.hero{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    position:relative;

}

.hero-content{

    min-height:100vh;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    transform:translateY(-1vh);

}

.eyebrow{

    font-size:.78rem;

    letter-spacing:.42em;

    text-transform:uppercase;

    color:#9d9d9d;

    margin-bottom:9rem;

}

.quote{

    display:flex;

    flex-direction:column;

    align-items:center;

    font-family:"Cormorant Garamond",serif;

    font-weight:300;

    line-height:.90;

}

.quote .line{

    display:block;

}

.line1{

    font-size:clamp(3.2rem,4vw,4.4rem);

}

.line2{

    font-size:clamp(3.6rem,4.8vw,4.8rem);

    font-style:italic;

    margin:.12em 0;

}

.line3{

    font-size:clamp(3.2rem,4vw,4.4rem);

}

/*==================================================
SCROLL
==================================================*/

.scroll-indicator{

    position:absolute;

    left:50%;

    bottom:28px;

    transform:translateX(-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    opacity:.45;

    transition:opacity .5s ease;

    animation:fadeUp 1.2s ease forwards;

    animation-delay:1.8s;

}

.scroll-line{

    width:1px;

    height:95px;

    background:#1a1a1a;

}

.scroll-arrow{

    width:10px;

    height:10px;

    border-right:1px solid #1a1a1a;

    border-bottom:1px solid #1a1a1a;

    transform:rotate(45deg);

    margin-top:-2px;

}
/*==================================================
FULLSCREEN MENU
==================================================*/

.menu-overlay{

    position:fixed;
    inset:0;

    background:#111;

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.45s ease;

    z-index:999;

    padding:6rem 0;

}

.menu-overlay.active{

    opacity:1;
    visibility:visible;

}

.overlay-content{

    display:flex;
    flex-direction:column;
    align-items:center;
    gap:3.8rem;

}

.overlay-content a{

    color:#f8f7f2;
    text-decoration:none;

    font-family:"Cormorant Garamond",serif;
    font-size:5rem;
    font-weight:300;

    letter-spacing:.03em;

    transition:.3s;

} 

.overlay-content:hover a{

    opacity:.28;

}

.overlay-content a:hover{

    opacity:1;

}

.language-switch{

    margin-top:3rem;

    display:flex;
    gap:1rem;
    align-items:center;

}

.language-switch a{

    font-family:"Inter",sans-serif;
    font-size:.9rem;
    letter-spacing:.3em;

}

.language-switch span{

    color:#888;

}

.close-menu{

    position:absolute;

    top:45px;
    right:70px;

    background:none;
    border:none;

    color:white;

    font-size:2rem;

    cursor:pointer;

}
/*==========================
HOME ANIMATION
==========================*/

.logo,
.eyebrow,
.line{

    opacity:0;

}

.logo{

    animation:fadeUp 1.2s ease forwards;

}

.eyebrow{

    animation:fadeUp 1.2s ease forwards;
    animation-delay:.35s;

}

.line1{

    animation:fadeUp 1.1s ease forwards;
    animation-delay:.7s;

}

.line2{

    animation:fadeUp 1.1s ease forwards;
    animation-delay:1s;

}

.line3{

    animation:fadeUp 1.1s ease forwards;
    animation-delay:1.3s;

}

@keyframes fadeUp{

    from{

        opacity:0;
        transform:translateY(25px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}
/*===================================
PROJECTS
===================================*/

.projects{

    padding:8rem 8%;

    background:#f8f7f2;

}

.project{

    display:grid;

    grid-template-columns:28% 72%;

    gap:6rem;

    align-items:flex-start;

    min-height:95vh;

    padding:7rem 0;

    border-top:1px solid #ece9e2;

}

.project-info{

    position:sticky;

    top:120px;
    align-self:start;

}

.project-type{

    font-size:.72rem;

    letter-spacing:.35em;

    text-transform:uppercase;

    color:#b1b1b1;

    margin-bottom:2rem;

}

.project-info h2{

    font-family:"Cormorant Garamond",serif;

   font-size:clamp(4rem,5vw,5.5rem);

    font-weight:400;

    line-height:.88;

    letter-spacing:-.02em;

    margin-bottom:1.2rem;

}

.project-description{

    font-family:"Inter",sans-serif;

    font-size:1rem;

    line-height:1.9;

    color:#6f6f6f;

    max-width:310px;

    margin-top:0;
    margin-bottom:3rem;

}

.project-link{

    display:inline-flex;

    align-items:center;

    gap:.5rem;

    margin-top:3rem;

    font-size:.72rem;

    font-weight:500;

    letter-spacing:.22em;

    text-transform:uppercase;

    color:#111;

    text-decoration:none;

    transition:all .35s ease;

    }

.project-link:hover{

    gap:1rem;

    letter-spacing:.28em;

    transform:translateX(8px);

    opacity:.65;

}

.project-image{

    overflow:hidden;

}

.project-image img{

    width:100%;

    height:88vh;

    object-fit:cover;

    object-position:center center;

    display:block;

    transition:transform .8s ease;

}

.project:hover .project-image img{

    transform:scale(1.03);

}


/*==================================
PROJECT PAGE
==================================*/
/*===================================
EDITORIAL HERO
===================================*/

.project-page-hero-editorial{

    width:min(900px,90%);

     margin:5rem auto 2rem;

}

.project-page-hero-editorial img{

    width:100%;

    height:auto;

    display:block;

}
.project-page-hero{

    width:min(1200px,90%);
    height:auto;

     margin:8rem auto 0;

}

.project-page-hero img{

    width:100%;

    height:auto;

    display:block;

}

.project-page-intro{

    width:min(900px,90%);
    margin:2.5rem auto 3rem;

}

.project-page-category{

    font-size:.75rem;

    letter-spacing:.35em;

    text-transform:uppercase;

    color:#999;

    margin-bottom:2rem;

}

.project-page-intro h1{

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3.5rem,6vw,5.5rem);

    font-weight:400;

    line-height:.92;

    margin-bottom:2rem;

}

.project-page-role{

    font-size:1.1rem;
    color:#666;
    margin-bottom:1.5rem;

}
/*===================================
YEAR DIVIDER
===================================*/

.year-divider{

    width:100%;

    margin:8rem 0 5rem;

    display:flex;

    align-items:center;

    gap:2rem;

}

.year-divider::before{

    content:"";

    flex:1;

    height:1px;

    background:#d8d5cf;

}

.year-divider span{

    font-family:"Cormorant Garamond",serif;

    font-size:3rem;

    font-weight:400;

    color:#999;

    letter-spacing:.08em;

}

.year-divider::after{

    content:"";

    flex:8;

    height:1px;

    background:#d8d5cf;

}
/*===================================
FEATURED PROJECT
===================================*/

.featured-project{

    min-height:110vh;

}

.featured-project .project-info h2{

    font-size:clamp(3.5rem,5vw,5rem);

}

.featured-project .project-image img{

    height:92vh;

}
/*===================================
PROJECT CONTENT
===================================*/

.project-overview{

    max-width:700px;
    margin:0 auto 4rem;

}

.project-overview p:first-child{

    font-size:1rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    margin-bottom:3rem;
    color:#4f4f4f;

}

.project-overview p:last-child{

    font-size:1.05rem;
    line-height:1.9;
    color:#555;

}

.project-gallery{

    width:min(1400px,90%);
    margin:8rem auto;

}

.project-gallery img{

    width:100%;
    display:block;

}

.project-gallery-two{

    width:min(1400px,90%);
    margin:0 auto 8rem;

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

}

.project-gallery-two img{

    width:100%;
    display:block;

}
.project-nav{

    position:fixed;

    top:40px;

    left:50px;

    z-index:1000;

}
.back-link{

    font-family:"Cormorant Garamond",serif;

    font-size:1.8rem;

    text-decoration:none;

    color:#111;

    transition:.3s;

}

.back-link:hover{

    opacity:.6;

}
.project-footer {
    width: min(900px, 90%);

    margin: 8rem auto 5rem;

    padding-top: 3rem;

    border-top: 1px solid #ddd;

    display: grid;

    grid-template-columns: 1fr 1fr 1fr;

    align-items: center;
}

.footer-portfolio,
.footer-next {

    font-family: "Inter", sans-serif;

    font-size: .75rem;

    letter-spacing: .25em;

    text-transform: uppercase;

    text-decoration: none;

    color: #111;

    transition: .3s;

}

.footer-portfolio:hover,
.footer-next:hover {

    opacity: .6;

}

.project-footer .footer-portfolio:first-child {
    justify-self: start;
}

.project-footer .footer-portfolio:nth-child(2) {
    justify-self: center;
}

.project-footer .footer-next {
    justify-self: end;
}
/*===================================
CONTACT
===================================*/

.contact-section{

    min-height:100vh;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:10rem 8%;

    border-top:1px solid #e5e1da;

}

.contact-eyebrow{

    font-family:"Inter",sans-serif;

    font-size:.72rem;

    letter-spacing:.35em;

    text-transform:uppercase;

    color:#8a8a8a;

    margin-bottom:4rem;

}

.contact-title{

    font-family:"Cormorant Garamond",serif;

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

    font-weight:400;

    line-height:1.05;

    margin-bottom:5rem;

}

.contact-links{

    display:flex;

    gap:3rem;

    flex-wrap:wrap;

    justify-content:center;

}

.contact-links a{

    font-family:"Inter",sans-serif;

    font-size:.75rem;

    letter-spacing:.25em;

    text-transform:uppercase;

    text-decoration:none;

    color:#111;

    transition:.3s;

}

.contact-links a:hover{

    opacity:.5;

}


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

.profile-hero{

    min-height:auto;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:7rem 8% 2rem;

}

.profile-hero-eyebrow{

    font-family:"Inter",sans-serif;

    font-size:.72rem;

    letter-spacing:.35em;

    text-transform:uppercase;

    color:#8a8a8a;

    margin-bottom:2rem;

}

.profile-title{

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(4.5rem,7vw,6.5rem);

    font-weight:400;

    line-height:.9;

    margin-bottom:.5rem;

}

.profile-role{

    font-family:"Inter",sans-serif;

    font-size:1rem;

    letter-spacing:.08em;

    color:#666;

    margin-bottom:1rem;

}

.profile-quote{

    max-width:760px;

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(1.7rem,2vw,2.2rem);

    line-height:1.35;

    color:#555;

}
/*===================================
PROFILE IMAGES
===================================*/

.profile-image-full,
.profile-feature-image{

    width:500px;

    max-width:90%;

    margin:0 auto;

}

.profile-image-full img,
.profile-feature-image img{

    width:100%;

    height:auto;

    display:block;

}
/*===================================
PROFILE INTRO
===================================*/

.profile-intro{

    width:min(1200px,90%);

    margin:0 auto 4rem;

    display:grid;

    grid-template-columns:220px 1fr;

    gap:5rem;

    align-items:start;

}

.profile-label{

    font-family:"Inter",sans-serif;

    font-size:.9rem;

    letter-spacing:.3em;

    text-transform:uppercase;

    color:#666;

    padding-top:.5rem;

}

.profile-copy{

    max-width:760px;

}

.profile-copy p{

    font-family:"Inter",sans-serif;

font-size:1.02rem;

line-height:1.8;

color:#555;

    margin-bottom:2rem;

}

.profile-copy p:last-child{

    margin-bottom:0;

}
/*===================================
PROFILE FEATURE
===================================*/

.profile-feature{

    width:min(1000px,90%);

    margin: 1rem auto 8rem;

    display:grid;

    grid-template-columns:52% 48%;

    gap:4rem;

    align-items:center;

}

.profile-feature-image{

    width:520px;

    justify-self:center;

}

.profile-feature-image img{

    width:100%;

    display:block;

}

.feature-label{

    font-family:"Inter",sans-serif;

    font-size:.72rem;

    letter-spacing:.3em;

    text-transform:uppercase;

    color:#777;

    margin-bottom:1.5rem;

}

.profile-feature-text h2{

    font-family:"Cormorant Garamond",serif;

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

    font-weight:400;

    line-height:1.1;

    margin-bottom:2rem;

}

.profile-feature-text p:last-child{

    font-family:"Inter",sans-serif;

    font-size:1rem;

    line-height:1.9;

    color:#555;

}
/*===================================
PROFILE VIDEO SECTION
===================================*/

.profile-video-section{

    width:min(1200px,90%);

    margin:8rem auto;

    display:grid;

    grid-template-columns:58% 42%;

    gap:2rem;

    align-items:center;

}

.profile-video{

    justify-self:center;

    width:280px;

    margin-top:-60px;

}

.profile-video video{

    width:100%;

    display:block;

}

.profile-video-text h2{

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(2rem,3vw,2.8rem);

    font-weight:400;

    line-height:1.15;

    margin:1rem 0 2rem;

}

.profile-video-text p:last-child{

    font-family:"Inter",sans-serif;

    font-size:1rem;

    line-height:1.9;

    color:#555;

}
.profile-feature.reverse{

    grid-template-columns:48% 52%;

}

.profile-feature.reverse .profile-feature-image{

    order:2;

}

.profile-feature.reverse .profile-feature-text{

    order:1;

}
/*===================================
PROFILE CONTACT
===================================*/

.profile-contact{

    width:min(1100px,90%);

    margin:5rem auto 8rem;

    padding-top:4rem;

    border-top:1px solid #ddd;

    text-align:center;

}

.contact-label{

    font-family:"Inter",sans-serif;

    font-size:.75rem;

    letter-spacing:.35em;

    text-transform:uppercase;

    color:#777;

    margin-bottom:2rem;

}

.profile-contact h2{

    font-family:"Cormorant Garamond",serif;

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

    font-weight:400;

    line-height:1.2;

    max-width:700px;

    margin:0 auto 4rem;

}

.contact-grid{

    display:grid;

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

    gap:2rem;

}

.contact-item{

    display:flex;

    flex-direction:column;

    gap:.8rem;

}

.contact-item span{

    font-family:"Inter",sans-serif;

    font-size:.72rem;

    letter-spacing:.28em;

    text-transform:uppercase;

    color:#888;

}

.contact-item a,
.contact-item p{

    font-family:"Inter",sans-serif;

    font-size:.95rem;

    color:#222;

    text-decoration:none;

}

.contact-item a:hover{

    opacity:.6;

}
/*===================================
PROJECT INFO GRID
===================================*/

.project-info-grid{

    width:min(900px,90%);

    margin:8rem auto;

    padding-top:4rem;

    border-top:1px solid #ddd;

    display:grid;

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

    gap:3rem;

}

.project-info-grid span{

    display:block;

    font-family:"Inter",sans-serif;

    font-size:.72rem;

    letter-spacing:.28em;

    text-transform:uppercase;

    color:#888;

    margin-bottom:1rem;

}

.project-info-grid p{

    font-family:"Cormorant Garamond",serif;

    font-size:1.35rem;

    font-weight:400;

    color:#222;

}
/*===================================
PROJECT FOOTER
===================================*/

.project-footer{

    width:min(900px,90%);

    margin:6rem auto 5rem;

    padding-top:3rem;

    border-top:1px solid #ddd;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.footer-portfolio,
.footer-next{

    font-family:"Inter",sans-serif;

    font-size:.75rem;

    letter-spacing:.25em;

    text-transform:uppercase;

    text-decoration:none;

    color:#111;

    transition:.3s;

}

.footer-portfolio:hover,
.footer-next:hover{

    opacity:.6;

}
/*===================================
SMALL PROJECT IMAGE
===================================*/

.project-gallery-small{

    width:min(850px,75%);

    margin:5rem auto 7rem;

}

.project-gallery-small img{

    width:100%;

    display:block;

}
/*===================================
HORIZONTAL PROJECT IMAGE
===================================*/

.project-gallery-horizontal{

    width:min(1100px,90%);

    margin:4rem auto 6rem;

}

.project-gallery-horizontal img{

    width:100%;

    height:auto;

    display:block;

}
/*===================================
PROJECT INFO — CLEAN GRID
===================================*/

.project-info-grid {
    width: min(1200px, 90%);
    margin: 5rem auto 0;
    padding: 4rem 0 5rem;

    border-top: 1px solid #ddd;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 5rem;
    row-gap: 4rem;
}

.project-info-grid span {
    display: block;
    margin-bottom: 1.2rem;

    font-family: 'Inter', sans-serif;
    font-size: 0.72rem;
    font-weight: 400;
    letter-spacing: 0.28em;
    text-transform: uppercase;

    color: #888;
}

.project-info-grid p {
    margin: 0;

    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    line-height: 1.25;

    color: #222;
}


/*===================================
PROJECT FOOTER
===================================*/

footer.project-footer {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    width: min(1200px, 90%);
    margin: 0 auto;

    padding: 3rem 0 5rem;

    border-top: 1px solid #ddd;

    display: grid;
    grid-template-columns: 1fr 1fr 1fr;

    align-items: center;
}

footer.project-footer a:first-child {
    text-align: left;
}

footer.project-footer a:nth-child(2) {
    text-align: center;
}

footer.project-footer a:last-child {
    text-align: right;
}

/*===================================
LANGUAGE SWITCH — HOME
===================================*/

.language-switch-home {
    position: absolute;
    top: 2rem;
    right: 3rem;

    display: flex;
    align-items: center;
    gap: 0.5rem;

    z-index: 20;

    font-family: "Inter", sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.18em;
}

.language-switch-home a {
    color: #111;
    text-decoration: none;
}

.language-switch-home span {
    color: #999;
}
/*===================================
HOME — MENU + LANGUAGE
===================================*/

.hero {
    position: relative;
}

.navigation {
    position: absolute;
    top: 2rem;
    right: 3rem;
    z-index: 30;
}

.language-switch-home {
    position: absolute;
    top: 2rem;
    right: 8rem;

    display: flex;
    align-items: center;
    gap: 0.5rem;

    z-index: 30;

    font-family: "Inter", sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.18em;
}

.language-switch-home a {
    color: #111;
    text-decoration: none;
}

.language-switch-home span {
    color: #999;
}
/*===================================
MOBILE
===================================*/

@media (max-width: 700px) {

    /* NAVIGATION */

    .navigation {
        top: 1.5rem;
        right: 1.5rem;
    }

    .language-switch-home {
        top: 1.5rem;
        right: 6.5rem;
    }

    .menu-button {
        font-size: .65rem;
        letter-spacing: .25em;
    }

    .close-menu {
        top: 1.5rem;
        right: 1.5rem;
    }


    /* HERO */

    .hero {
        min-height: 100svh;
    }

    .hero-content {
        width: 90%;
        min-height: 100svh;
        transform: translateY(-2vh);
    }

    .logo {
        font-size: 2.5rem;
        letter-spacing: .16em;
    }

    .eyebrow {
        font-size: .58rem;
        letter-spacing: .25em;
        margin-bottom: 5rem;
        line-height: 1.6;
    }

    .line1 {
        font-size: clamp(2.5rem, 11vw, 3.5rem);
    }

    .line2 {
        font-size: clamp(2.8rem, 12vw, 3.8rem);
    }

    .scroll-line {
        height: 60px;
    }


    /* MENU */

    .menu-overlay {
        padding: 4rem 1.5rem;
    }

    .overlay-content {
        gap: 2.5rem;
    }

    .overlay-content a {
        font-size: 3.2rem;
    }


    /* PROJECT LIST */

    .projects {
        padding: 4rem 6%;
    }

    .project,
    .featured-project {
        display: flex;
        flex-direction: column;
        gap: 2rem;

        min-height: auto;

        padding: 5rem 0;
    }

    .project-info,
    .featured-project .project-info {
        position: static;
        width: 100%;
    }

    .project-type {
        font-size: .62rem;
        letter-spacing: .25em;
        margin-bottom: 1.2rem;
    }

    .project-info h2,
    .featured-project .project-info h2 {
        font-size: clamp(3rem, 12vw, 4rem);
        line-height: .9;
    }

    .project-description {
        font-size: .9rem;
        margin-bottom: 1.5rem;
    }

    .project-link {
        margin-top: 1rem;
        font-size: .65rem;
    }

    .project-image img,
    .featured-project .project-image img {
        height: 70vh;
        max-height: 650px;
        object-fit: cover;
    }


    /* PROJECT PAGE */

    .project-nav {
        top: 1.5rem;
        left: 1.5rem;
    }

    .back-link {
        font-size: 1.4rem;
    }

    .project-page-hero,
    .project-page-hero-editorial {
        width: 90%;
        margin: 5rem auto 1.5rem;
    }

    .project-page-intro {
        width: 90%;
        margin: 2rem auto 3rem;
    }

    .project-page-category {
        font-size: .62rem;
        letter-spacing: .25em;
        margin-bottom: 1.5rem;
    }

    .project-page-intro h1 {
        font-size: clamp(3rem, 12vw, 4.5rem);
    }

    .project-page-role {
        font-size: .95rem;
    }


    /* PROJECT OVERVIEW */

    .project-overview {
        width: 90%;
        margin: 0 auto 4rem;
    }

    .project-overview p:first-child {
        font-size: .75rem;
        letter-spacing: .15em;
        margin-bottom: 2rem;
    }

    .project-overview p:last-child {
        font-size: .95rem;
        line-height: 1.8;
    }


    /* PROJECT IMAGES */

    .project-gallery {
        width: 90%;
        margin: 4rem auto;
    }

    .project-gallery-two {
        width: 90%;
        margin: 0 auto 4rem;

        display: grid;
        grid-template-columns: 1fr;

        gap: 2rem;
    }

    .project-gallery-small {
        width: 90%;
        margin: 4rem auto 5rem;
    }

    .project-gallery-horizontal {
        width: 90%;
        margin: 4rem auto 5rem;
    }


    /* PROJECT INFO */

    .project-info-grid {
        width: 90%;

        margin: 5rem auto 0;

        padding: 3rem 0 4rem;

        grid-template-columns: 1fr;

        column-gap: 0;
        row-gap: 2.5rem;
    }

    .project-info-grid span {
        font-size: .62rem;
        letter-spacing: .22em;
    }

    .project-info-grid p {
        font-size: 1.25rem;
    }


    /* PROJECT FOOTER */

    footer.project-footer {
        width: 90%;

        padding: 2.5rem 0 4rem;

        grid-template-columns: 1fr 1fr 1fr;

        gap: .5rem;
    }

    footer.project-footer a {
        font-size: .55rem;
        letter-spacing: .15em;
        line-height: 1.5;
    }

    footer.project-footer a:first-child {
        text-align: left;
    }

    footer.project-footer a:nth-child(2) {
        text-align: center;
    }

    footer.project-footer a:last-child {
        text-align: right;
    }


    /* CONTACT */

    .contact-section {
        min-height: 80svh;
        padding: 7rem 6%;
    }

    .contact-eyebrow {
        font-size: .6rem;
        letter-spacing: .25em;
        margin-bottom: 3rem;
    }

    .contact-title {
        font-size: clamp(3rem, 12vw, 4rem);
        margin-bottom: 4rem;
    }

    .contact-links {
        flex-direction: column;
        gap: 1.5rem;
    }


    /* PROFILE */

    .profile-hero {
        padding: 6rem 6% 2rem;
    }

    .profile-title {
        font-size: clamp(3.5rem, 15vw, 5rem);
    }

    .profile-quote {
        font-size: 1.5rem;
    }

    .profile-intro {
        width: 90%;
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .profile-feature,
    .profile-feature.reverse {
        width: 90%;
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .profile-feature.reverse .profile-feature-image,
    .profile-feature.reverse .profile-feature-text {
        order: initial;
    }

    .profile-feature-image {
        width: 100%;
    }

    .profile-video-section {
        width: 90%;
        grid-template-columns: 1fr;
        gap: 3rem;
        margin: 5rem auto;
    }

    .profile-video {
        width: 220px;
        margin-top: 0;
    }

    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

}