:root{
    --red:#ed1c24;
    --dark:#53565a;
    --text:#222;
    --light:#f7f7f7
}

*{
    box-sizing:border-box
}

html{
    scroll-behavior:smooth
}

body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    color:var(--text);
    line-height:1.6
}

.header{
    position:sticky;
    top:0;
    z-index:10;
    background:white;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px 7%;
    box-shadow:0 2px 18px #0001
}

.brand img{
    height:56px;
    max-width:260px;
    object-fit:contain
}

nav{
    display:flex;
    gap:22px;
    flex-wrap:wrap
}

nav a{
    color:var(--dark);
    text-decoration:none;
    font-weight:700
}

.hero{
    min-height:78vh;
    display:grid;
    place-items:center;
    padding:80px 7%;
    background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25)),url('images/realisation-2.jpg') center/cover
}

.hero-content{
    max-width:850px;
    color:white
}

.tag{
    color:#fff;
    background:var(--red);
    display:inline-block;
    padding:7px 14px;
    border-radius:999px;
    font-weight:700
}

.hero h1{
    font-size:clamp(42px,8vw,82px);
    line-height:1;
    margin:20px 0
}

.lead{
    font-size:clamp(19px,3vw,28px);
    max-width:760px
}

.actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:28px
}

.btn{
    display:inline-block;
    padding:14px 22px;
    border-radius:8px;
    background:white;
    color:var(--dark);
    text-decoration:none;
    font-weight:800
}

.btn.primary{
    background:var(--red);
    color:white
}

.section{
    padding:75px 7%
}

.section h2{
    font-size:38px;
    margin:0 0 25px;
    color:var(--dark)
}

.light{
    background:var(--light)
}

.cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px
}

.cards article,.box{
    background:white;
    border-radius:16px;
    padding:24px;
    box-shadow:0 8px 30px #00000012;
    border-top:5px solid var(--red)
}

.cards h3{
    color:var(--red);
    margin-top:0
}

.intro{
    font-size:18px
}

.gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px
}

.gallery img{
    width:100%;
    height:330px;
    object-fit:cover;
    border-radius:16px;
    box-shadow:0 8px 30px #0002
}

.split{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:35px;
    align-items:start
}

.box ul{
    margin-bottom:0
}

.contact{
    text-align:center;
    background:var(--dark);
    color:white
}

.contact h2{
    color:white
}

.contact-grid{
    display:flex;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
    margin-top:25px
}

.contact-grid a,.contact-grid span{
    background:white;
    color:var(--dark);
    padding:14px 18px;
    border-radius:8px;
    text-decoration:none;
    font-weight:800
}

footer{
    text-align:center;
    padding:25px;
    background:#222;
    color:white
}

@media(max-width:900px){
    .header{position:static;display:block;text-align:center}
    .brand img{max-width:220px}
    nav{justify-content:center;margin-top:12px}
    .cards{grid-template-columns:1fr 1fr}
    .split,.gallery{grid-template-columns:1fr}
}

@media(max-width:560px){
    .cards{grid-template-columns:1fr}
    .gallery img{height:230px}
    .section{padding:55px 6%}
}
