*{box-sizing:border-box}
body{
    margin:0;
    background:#f1f0ec;
    color:#111;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    line-height:1.65
}
a{color:inherit}

header{
    height:74px;
    background:#050505;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 max(22px,calc((100vw - 1180px)/2))
}
.brand{
    text-decoration:none;
    font-weight:900;
    letter-spacing:.03em
}
.brand span{margin-left:7px}
.brand small{
    opacity:.55;
    margin-left:4px
}
nav{
    display:flex;
    gap:24px
}
nav a{
    color:#ddd;
    text-decoration:none;
    font-size:14px
}

.wrap{
    width:min(1180px,calc(100% - 40px));
    margin:auto
}

.hero{
    min-height:720px;
    position:relative;
    display:flex;
    align-items:flex-end;
    background:#111;
    color:#fff;
    overflow:hidden
}
.hero>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}
.shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(0,0,0,.87),rgba(0,0,0,.10)),
        linear-gradient(0deg,rgba(0,0,0,.72),transparent 58%)
}
.copy{
    position:relative;
    z-index:2;
    padding:88px 0
}
.eyebrow,
.kicker{
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:12px;
    font-weight:850
}
.eyebrow{color:#ff8e8e}

.hero h1{
    font-size:clamp(46px,7vw,90px);
    line-height:.94;
    letter-spacing:-.055em;
    max-width:1080px;
    margin:.2em 0
}
.lead{
    font-size:21px;
    max-width:810px;
    color:#e8e8e8
}

.stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    background:#fff;
    border-bottom:1px solid #ddd
}
.stats div{
    text-align:center;
    padding:30px;
    border-right:1px solid #ddd
}
.stats div:last-child{border-right:0}
.stats b{
    display:block;
    font-size:35px;
    letter-spacing:-.04em
}
.stats span{
    font-size:13px;
    color:#666
}

.section{
    padding:90px 0;
    border-bottom:1px solid #d4d3d0
}
.section h2{
    font-size:clamp(35px,4.6vw,60px);
    line-height:1.02;
    letter-spacing:-.045em;
    margin:.2em 0 .55em
}
.section p{
    font-size:18px;
    max-width:900px
}

.split{
    display:grid;
    grid-template-columns:1.35fr .65fr;
    gap:65px
}
.split aside{
    background:#111;
    color:#fff;
    padding:34px;
    align-self:start
}
.split aside span{
    display:block;
    text-transform:uppercase;
    letter-spacing:.13em;
    font-size:11px;
    color:#aaa
}
.split aside strong{
    display:block;
    font-size:27px;
    line-height:1.15;
    margin:18px 0
}
.split aside small{
    color:#aaa
}

.gallery{
    background:#dfded9;
    padding:80px 0
}
.gallery>.wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px
}
.gallery figure{margin:0}
.gallery img{
    width:100%;
    display:block;
    aspect-ratio:16/10;
    object-fit:cover
}
.gallery figcaption{
    font-size:12px;
    margin-top:7px;
    color:#606060
}

.dark{
    background:#080808;
    color:#fff
}
.dark .kicker{color:#ff8e8e}

.cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:40px
}
.cards>div{
    border:1px solid #343434;
    padding:28px;
    background:#101010
}
.cards b{color:#ff6d6d}
.cards h3{
    font-size:24px;
    margin:25px 0 10px
}
.cards p{
    color:#ccc;
    font-size:16px
}

.mex{
    background:#deddda
}
.notice{
    background:#f7f6f2;
    border-left:4px solid #c41e24;
    padding:22px;
    margin-top:28px
}

.cta{
    display:inline-block;
    background:#111;
    color:#fff;
    text-decoration:none;
    font-weight:800;
    padding:14px 18px;
    margin-top:10px
}

footer{
    background:#050505;
    color:#ddd;
    padding:42px 0
}

@media(max-width:800px){
    nav{display:none}

    .hero{
        min-height:640px
    }

    .hero h1{
        font-size:44px
    }

    .stats{
        grid-template-columns:repeat(2,1fr)
    }

    .split,
    .gallery>.wrap,
    .cards{
        grid-template-columns:1fr
    }

    .split{
        gap:35px
    }

    .section,
    .gallery{
        padding:60px 0
    }

    .wrap{
        width:min(100% - 32px,1180px)
    }
}