/*======================================================
    WHAT IF BRANDING
    ABOUT PAGE
======================================================*/

.about-page{
    background:#0D0D0F;
    color:#fff;
    overflow-x:hidden;
}

.about-page *{
    box-sizing:border-box;
}

.about-page .container{
    width:min(1480px,92%);
    max-width:1480px;
    margin:0 auto;
}

.about-page h1,
.about-page h2,
.about-page h3,
.about-page h4,
.about-page p{
    margin-top:0;
}

.about-page p{
    color:rgba(255,255,255,.72);
    line-height:1.8;
}

/*======================================================
    HERO
======================================================*/

.about-hero{
    min-height:72vh;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:145px 7% 95px;

    background:
        linear-gradient(
            rgba(8,8,10,.72),
            rgba(8,8,10,.90)
        ),
        url("../images/ban.jpg");

    background-size:cover;
    background-position:center;
    background-attachment:fixed;

    position:relative;
    overflow:hidden;
}

.about-hero::after{
    content:"";
    position:absolute;
    inset:0;

    background:
        radial-gradient(circle at 22% 28%, rgba(184,115,51,.18), transparent 34%),
        radial-gradient(circle at 80% 70%, rgba(255,255,255,.07), transparent 28%);

    pointer-events:none;
}

.about-hero-card{
    position:relative;
    z-index:2;

    width:min(980px,94%);

    padding:76px 66px;

    text-align:center;

    border-radius:38px;

    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.13);

    backdrop-filter:blur(30px);
    -webkit-backdrop-filter:blur(30px);

    box-shadow:
        0 45px 140px rgba(0,0,0,.58),
        inset 0 1px rgba(255,255,255,.16);

    transition:.4s ease;
}

.about-hero-card:hover{
    transform:translateY(-7px);

    border-color:rgba(184,115,51,.36);

    box-shadow:
        0 60px 160px rgba(0,0,0,.68),
        0 0 0 1px rgba(184,115,51,.10),
        inset 0 1px rgba(255,255,255,.22);
}

.about-hero-card span{
    display:block;

    margin-bottom:24px;

    color:#fff;

    font-size:.78rem;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.about-hero-card h2{
    max-width:820px;

    margin:0 auto 28px;

    color:#B87333;

    font-size:clamp(3rem,5vw,5.5rem);
    line-height:.95;
}

.about-hero-card p{
    max-width:760px;

    margin:0 auto;

    color:rgba(255,255,255,.78);

    font-size:1.08rem;
}

/*======================================================
    GENERAL SECTIONS
======================================================*/

.about-section{
    padding:100px 0;

    background:
        radial-gradient(circle at top left, rgba(184,115,51,.08), transparent 34%),
        #0D0D0F;
}

.about-section-dark{
    background:
        radial-gradient(circle at bottom right, rgba(255,255,255,.045), transparent 30%),
        #101114;
}

.about-glass{
    border-radius:36px;

    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.09);

    backdrop-filter:blur(26px);
    -webkit-backdrop-filter:blur(26px);

    box-shadow:
        0 40px 120px rgba(0,0,0,.42),
        inset 0 1px rgba(255,255,255,.10);
}

.section-kicker{
    display:block;

    margin-bottom:18px;

    color:#B87333;

    font-size:.78rem;
    font-weight:700;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.about-section-header{
    max-width:820px;

    margin:0 auto 54px;

    text-align:center;
}

.about-section-header h2{
    margin-bottom:22px;

    color:#fff;

    font-size:clamp(2.4rem,4vw,4.4rem);
    line-height:1;
}

.about-section-header p{
    margin:0 auto;

    color:rgba(255,255,255,.72);

    font-size:1.03rem;
}

/*======================================================
    SPLIT BLOCKS
======================================================*/

.about-split{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
    gap:64px;
    align-items:center;

    padding:58px;
}

.about-split-content h2{
    margin-bottom:28px;

    color:#fff;

    font-size:clamp(2.5rem,4vw,4.8rem);
    line-height:1;
}

.about-split-content p{
    margin-bottom:22px;

    font-size:1rem;
}

.about-split-content p:last-child{
    margin-bottom:0;
}

/*======================================================
    TEAM COLLAGE
======================================================*/

.about-image-collage{
    position:relative;

    min-height:520px;
}

.collage-card{
    position:absolute;

    overflow:hidden;

    border-radius:30px;

    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);

    box-shadow:0 30px 90px rgba(0,0,0,.45);

    transition:.4s ease;
}

.collage-card:hover{
    transform:translateY(-8px);

    border-color:rgba(184,115,51,.38);
}

.collage-card img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}

.collage-main{
    width:68%;
    height:430px;

    left:0;
    top:48px;

    z-index:2;
}

.collage-small{
    width:42%;
    height:220px;

    right:0;

    z-index:3;
}

.collage-top{
    top:0;
}

.collage-bottom{
    bottom:0;
}

/*======================================================
    TEAM CARDS
======================================================*/

.team-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.team-card{
    overflow:hidden;

    border-radius:32px;

    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.09);

    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);

    box-shadow:0 30px 90px rgba(0,0,0,.35);

    transition:.35s ease;
}

.team-card:hover{
    transform:translateY(-8px);

    border-color:rgba(184,115,51,.34);

    box-shadow:
        0 42px 120px rgba(0,0,0,.52),
        0 0 0 1px rgba(184,115,51,.10);
}

.team-photo{
    height:420px;

    overflow:hidden;
}

.team-photo img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.55s ease;
}

.team-card:hover .team-photo img{
    transform:scale(1.06);
}

.team-info{
    padding:30px;
}

.team-info h3{
    margin-bottom:10px;

    color:#fff;

    font-size:1.8rem;
}

.team-info span{
    display:block;

    margin-bottom:18px;

    color:#B87333;

    font-size:.82rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.team-info p{
    margin-bottom:0;

    color:rgba(255,255,255,.70);

    font-size:.96rem;
}

/*======================================================
    MANIFESTO
======================================================*/

.about-manifesto{
    max-width:1180px;

    margin:0 auto;

    padding:70px 64px;

    text-align:center;
}

.about-manifesto h2{
    max-width:880px;

    margin:0 auto 30px;

    color:#fff;

    font-size:clamp(2.6rem,4.5vw,5rem);
    line-height:1;
}

.about-manifesto p{
    max-width:820px;

    margin:0 auto 22px;

    font-size:1.05rem;
}

.about-manifesto p:last-child{
    margin-bottom:0;
}

/*======================================================
    APPROACH
======================================================*/

.approach-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:22px;
}

.approach-card{
    min-height:300px;

    padding:32px 26px;

    border-radius:28px;

    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.09);

    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);

    box-shadow:0 24px 80px rgba(0,0,0,.30);

    transition:.35s ease;
}

.approach-card:hover{
    transform:translateY(-8px);

    border-color:rgba(184,115,51,.34);
}

.approach-card span{
    display:inline-flex;

    margin-bottom:26px;

    color:#B87333;

    font-size:.86rem;
    font-weight:800;
    letter-spacing:.14em;
}

.approach-card h3{
    margin-bottom:16px;

    color:#fff;

    font-size:1.45rem;
}

.approach-card p{
    margin-bottom:0;

    color:rgba(255,255,255,.68);

    font-size:.94rem;
}

/*======================================================
    HOSPITALITY / TECH BOXES
======================================================*/

.about-highlight-box{
    padding:46px 38px;

    border-radius:30px;

    background:
        linear-gradient(
            180deg,
            rgba(184,115,51,.18),
            rgba(255,255,255,.045)
        );

    border:1px solid rgba(184,115,51,.28);

    box-shadow:
        0 32px 90px rgba(0,0,0,.36),
        inset 0 1px rgba(255,255,255,.12);

    transition:.35s ease;
}

.about-highlight-box:hover{
    transform:translateY(-7px);
}

.about-highlight-box span{
    display:block;

    margin-bottom:20px;

    color:#D99152;

    font-size:.76rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.about-highlight-box h3{
    margin-bottom:20px;

    color:#fff;

    font-size:clamp(2rem,3vw,3rem);
    line-height:1;
}

.about-highlight-box p{
    margin-bottom:0;

    color:rgba(255,255,255,.76);
}

.about-tech{
    grid-template-columns:minmax(420px,.9fr) minmax(0,1fr);
}

/*======================================================
    CTA
======================================================*/

.about-cta-section{
    padding:110px 0;

    background:
        linear-gradient(
            rgba(8,8,10,.78),
            rgba(8,8,10,.92)
        ),
        url("../images/ban.jpg");

    background-size:cover;
    background-position:center;
}

.about-cta-card{
    width:min(980px,92%);

    margin:0 auto;

    padding:72px 58px;

    text-align:center;

    border-radius:36px;

    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.13);

    backdrop-filter:blur(30px);
    -webkit-backdrop-filter:blur(30px);

    box-shadow:
        0 45px 140px rgba(0,0,0,.58),
        inset 0 1px rgba(255,255,255,.14);
}

.about-cta-card span{
    display:block;

    margin-bottom:22px;

    color:#B87333;

    font-size:.78rem;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.about-cta-card h2{
    max-width:760px;

    margin:0 auto 24px;

    color:#fff;

    font-size:clamp(2.6rem,4vw,4.8rem);
    line-height:1;
}

.about-cta-card p{
    max-width:680px;

    margin:0 auto 36px;

    color:rgba(255,255,255,.74);

    font-size:1.04rem;
}

/*======================================================
    RESPONSIVE
======================================================*/

@media(max-width:1250px){

    .about-split,
    .about-tech{
        grid-template-columns:1fr;
    }

    .about-image-collage{
        min-height:560px;
    }

    .approach-grid{
        grid-template-columns:repeat(3,1fr);
    }

}

@media(max-width:1000px){

    .team-grid{
        grid-template-columns:1fr;
    }

    .team-card{
        display:grid;
        grid-template-columns:320px 1fr;
    }

    .team-photo{
        height:100%;
        min-height:360px;
    }

    .approach-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:760px){

    .about-hero{
        min-height:auto;
        padding:125px 22px 70px;
        background-attachment:scroll;
    }

    .about-hero-card{
        padding:46px 26px;
        border-radius:28px;
    }

    .about-hero-card h2{
        font-size:2.6rem;
    }

    .about-section{
        padding:70px 0;
    }

    .about-split{
        padding:30px;
        border-radius:28px;
    }

    .about-split-content h2{
        font-size:2.35rem;
    }

    .about-image-collage{
        min-height:auto;

        display:grid;
        grid-template-columns:1fr;
        gap:18px;
    }

    .collage-card{
        position:relative;
        inset:auto;

        width:100%;
        height:360px;
    }

    .team-card{
        display:block;
    }

    .team-photo{
        height:380px;
    }

    .about-manifesto{
        padding:48px 28px;
        border-radius:28px;
    }

    .about-manifesto h2{
        font-size:2.35rem;
    }

    .approach-grid{
        grid-template-columns:1fr;
    }

    .approach-card{
        min-height:auto;
    }

    .about-highlight-box{
        padding:36px 28px;
        border-radius:26px;
    }

    .about-cta-section{
        padding:80px 0;
    }

    .about-cta-card{
        padding:50px 28px;
        border-radius:28px;
    }

    .about-cta-card h2{
        font-size:2.35rem;
    }

}

@media(max-width:480px){

    .about-page .container{
        width:90%;
    }

    .about-hero-card h2{
        font-size:2.25rem;
    }

    .about-hero-card p{
        font-size:.96rem;
    }

    .about-split{
        padding:24px;
    }

    .collage-card{
        height:320px;
    }

    .team-photo{
        height:340px;
    }

    .team-info{
        padding:26px 22px;
    }

    .team-info h3{
        font-size:1.6rem;
    }

}

/*======================================================
    ABOUT PAGE — MINIMAL REFINEMENT
======================================================*/

/* sections less tall */

.about-section{
    padding:78px 0;
}

.about-page .container{
    width:min(1220px,90%);
}

/* main glass blocks smaller */

.about-split{
    padding:46px;
    gap:48px;
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.8fr);
}

/* titles less aggressive */

.about-split-content h2{
    max-width:620px;

    font-size:clamp(2.1rem,3vw,3.4rem);
    line-height:1.05;
    letter-spacing:.01em;

    margin-bottom:24px;
}

/* paragraphs smaller and more refined */

.about-split-content p{
    max-width:620px;

    font-size:.95rem;
    line-height:1.75;

    color:rgba(255,255,255,.72);
}

/* kicker smaller */

.section-kicker{
    font-size:.68rem;
    letter-spacing:.16em;
    margin-bottom:16px;
}

/* collage smaller */

.about-image-collage{
    min-height:390px;
}

.collage-main{
    width:66%;
    height:320px;

    top:36px;
}

.collage-small{
    width:38%;
    height:160px;
}

.collage-card{
    border-radius:24px;
}

/* team section more minimal */

.about-section-header{
    margin-bottom:42px;
}

.about-section-header h2{
    font-size:clamp(2rem,3vw,3.2rem);
}

.about-section-header p{
    max-width:680px;
    font-size:.96rem;
}

/* team cards smaller */

.team-grid{
    gap:24px;
}

.team-photo{
    height:320px;
}

.team-info{
    padding:24px;
}

.team-info h3{
    font-size:1.45rem;
}

.team-info span{
    font-size:.72rem;
    letter-spacing:.08em;
}

.team-info p{
    font-size:.9rem;
    line-height:1.65;
}

/* manifesto less huge */

.about-manifesto{
    max-width:980px;
    padding:56px 48px;
}

.about-manifesto h2{
    max-width:760px;
    font-size:clamp(2rem,3.4vw,3.6rem);
}

.about-manifesto p{
    max-width:720px;
    font-size:.98rem;
}

/* approach cards smaller */

.approach-grid{
    gap:18px;
}

.approach-card{
    min-height:240px;
    padding:26px 22px;
    border-radius:24px;
}

.approach-card span{
    margin-bottom:20px;
    font-size:.76rem;
}

.approach-card h3{
    font-size:1.25rem;
}

.approach-card p{
    font-size:.88rem;
    line-height:1.65;
}

/* highlight boxes */

.about-highlight-box{
    padding:36px 32px;
    border-radius:26px;
}

.about-highlight-box h3{
    font-size:clamp(1.7rem,2.5vw,2.4rem);
}

.about-highlight-box p{
    font-size:.94rem;
}

/* CTA smaller */

.about-cta-section{
    padding:86px 0;
}

.about-cta-card{
    width:min(860px,90%);
    padding:58px 46px;
}

.about-cta-card h2{
    font-size:clamp(2rem,3.2vw,3.5rem);
}

.about-cta-card p{
    font-size:.96rem;
}

/*======================================================
    TEAM PHOTO PLACEHOLDER
======================================================*/

.team-photo-placeholder{
    width:100%;
    height:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        radial-gradient(circle at 30% 20%, rgba(184,115,51,.22), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));

    color:#B87333;

    font-size:clamp(3rem,8vw,7rem);
    font-weight:800;
    letter-spacing:.04em;

    border-radius:inherit;
}

/*======================================================
    TEAM CARDS — 9:16 PORTRAIT STYLE
======================================================*/

.team-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(220px, 320px));
    gap:28px;
    justify-content:center;
    align-items:start;
}

.team-card{
    position:relative;

    aspect-ratio:9 / 16;

    overflow:hidden;

    border-radius:30px;

    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.10);

    box-shadow:0 30px 90px rgba(0,0,0,.38);

    transition:.35s ease;
}

.team-card:hover{
    transform:translateY(-8px);

    border-color:rgba(184,115,51,.36);

    box-shadow:
        0 42px 120px rgba(0,0,0,.55),
        0 0 0 1px rgba(184,115,51,.12);
}

/* image fills full card */

.team-photo{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    overflow:hidden;
}

.team-photo img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
    object-position:center;

    transition:.55s ease;
}

.team-card:hover .team-photo img{
    transform:scale(1.06);
}

/* dark gradient over image */

.team-card::after{
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.88) 0%,
            rgba(0,0,0,.68) 34%,
            rgba(0,0,0,.18) 62%,
            rgba(0,0,0,.04) 100%
        );

    z-index:1;
}

/* text over card */

.team-info{
    position:absolute;
    left:0;
    right:0;
    bottom:0;

    z-index:2;

    padding:30px 26px;
}

.team-info h3{
    margin:0 0 10px;

    color:#B87333;

    font-size:1.55rem;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.team-info span{
    display:block;

    margin-bottom:18px;

    color:#fff;

    font-size:.72rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    line-height:1.5;
}

.team-info p{
    margin:0;

    color:rgba(255,255,255,.78);

    font-size:.88rem;
    line-height:1.65;
}

/* placeholder also fills 9:16 card */

.team-photo-placeholder{
    width:100%;
    height:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        radial-gradient(circle at 30% 20%, rgba(184,115,51,.24), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));

    color:#B87333;

    font-size:clamp(4rem,8vw,7rem);
    font-weight:800;
    letter-spacing:.04em;
}

/* responsive */

@media(max-width:1000px){

    .team-grid{
        grid-template-columns:repeat(2, minmax(220px, 320px));
    }

}

@media(max-width:640px){

    .team-grid{
        grid-template-columns:minmax(220px, 340px);
    }

    .team-card{
        border-radius:26px;
    }

    .team-info{
        padding:28px 24px;
    }

}