.gbp-public-list,
.gbp-project-page{
    background:#070b0e;
    color:#eef4f6
}
.gbp-public-list{
    min-height:70vh;
    padding:78px 0 90px
}
.gbp-public-list header{
    max-width:860px;
    margin-bottom:34px
}
.gbp-public-list header>span,
.gbp-project-page .kicker{
    color:#ff6a00;
    font-size:9px;
    font-weight:1000;
    letter-spacing:.15em
}
.gbp-public-list h1{
    margin:8px 0 12px;
    font-size:clamp(44px,7vw,82px);
    line-height:.94
}
.gbp-public-list h1 em{
    color:#ff6a00;
    font-style:normal
}
.gbp-public-list header p{
    color:#80939a;
    line-height:1.6
}
.gbp-project-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px
}
.gbp-project-card{
    overflow:hidden;
    border:1px solid #203943;
    border-radius:18px;
    background:#081115;
    color:#eef4f6;
    text-decoration:none
}
.gbp-project-card .media{
    display:grid;
    height:320px;
    place-items:center;
    overflow:hidden;
    background:#0b1519;
    color:var(--project-color);
    font-size:60px
}
.gbp-project-card .media img{
    width:100%;
    height:100%;
    object-fit:cover
}
.gbp-project-card .copy{
    padding:20px
}
.gbp-project-card small{
    color:var(--project-color);
    font-weight:1000
}
.gbp-project-card h2{
    margin:7px 0;
    font-size:28px
}
.gbp-project-card p{
    min-height:68px;
    color:#7f929a;
    line-height:1.55
}
.gbp-project-card b{
    color:var(--project-color)
}
.gbp-project-page{
    background:var(--project-bg);
    color:var(--project-text)
}
.gbp-hero{
    position:relative;
    min-height:690px;
    display:grid;
    align-items:end;
    overflow:hidden
}
.gbp-hero .hero-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}
.gbp-hero .shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(5,8,10,.97),rgba(5,8,10,.7) 42%,rgba(5,8,10,.2)),
        linear-gradient(0deg,var(--project-bg),transparent 50%)
}
.gbp-hero .hero-content{
    position:relative;
    z-index:2;
    padding-bottom:70px
}
.project-logo{
    display:block;
    max-width:230px;
    max-height:110px;
    margin-bottom:18px;
    object-fit:contain
}
.project-sigla{
    margin-bottom:14px;
    color:var(--project-color);
    font-size:42px;
    font-weight:1000
}
.gbp-hero h1{
    max-width:850px;
    margin:10px 0;
    font-size:clamp(54px,8vw,108px);
    line-height:.88;
    letter-spacing:-.055em
}
.gbp-hero p{
    max-width:680px;
    font-size:19px;
    color:#c4cdd1
}
.gbp-hero .actions{
    display:flex;
    gap:10px;
    margin-top:24px
}
.gbp-hero .actions a{
    padding:12px 16px;
    border:1px solid #36505a;
    border-radius:8px;
    color:#fff;
    text-decoration:none;
    font-weight:900
}
.gbp-hero .actions a.primary{
    border-color:var(--project-color);
    background:var(--project-color);
    color:#071014
}
.gbp-section{
    padding:70px 0
}
.gbp-section.alt{
    border-top:1px solid #172b32;
    border-bottom:1px solid #172b32;
    background:rgba(255,255,255,.015)
}
.gbp-section .two{
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);
    gap:40px
}
.gbp-section h2{
    margin:8px 0 20px;
    font-size:clamp(34px,5vw,58px);
    line-height:1
}
.gbp-section h2 em{
    color:var(--project-color);
    font-style:normal
}
.gbp-section .prose{
    color:#c4d0d4;
    font-size:17px;
    line-height:1.75
}
.gbp-section .info{
    display:grid;
    gap:18px;
    padding:22px;
    border:1px solid #243e48;
    border-radius:16px;
    background:#081115
}
.gbp-section .info small{
    display:block;
    color:#667c84;
    font-size:8px;
    font-weight:1000
}
.feature-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px
}
.feature{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:80px;
    padding:16px;
    border:1px solid #243e48;
    border-radius:13px;
    background:#081115
}
.feature span{
    color:var(--project-color)
}
.gallery{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px
}
.gallery figure{
    margin:0;
    overflow:hidden;
    border:1px solid #243e48;
    border-radius:14px;
    background:#081115
}
.gallery img,
.gallery video{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover
}
.partners{
    display:flex;
    flex-wrap:wrap;
    gap:10px
}
.partners span{
    padding:10px 13px;
    border:1px solid #28434d;
    border-radius:999px;
    background:#081115
}
@media(max-width:850px){
    .gbp-project-grid,
    .feature-grid,
    .gallery,
    .gbp-section .two{
        grid-template-columns:1fr
    }
    .gbp-hero{
        min-height:600px
    }
}