
.mai-proj {
    width:100%;
    background:#141313;
    color:#fff;
    display:flex;
    justify-content:center;
    padding: clamp(48px, 6vh, 96px) 4vw;
    border-radius: 0;
}
.concrete-dialog [data-concrete-file-input],
.concrete-dialog concrete-file-input {
    display:block !important;
    min-height:40px;
}

.mai-proj .frame { max-width:1200px; width:100%; }


.mai-proj .header {
    display:flex; align-items:flex-end; justify-content:space-between;
    gap:16px; margin-bottom:32px;
}
.mai-proj .h2 {
    font-size: clamp(22px, 2.8vw, 34px);
    font-weight: 700;
    line-height: 1.15; margin:0;
}


.mai-proj .slide {
    display:grid;
    grid-template-columns: 1.4fr 1fr;
    gap:24px; align-items:stretch;
}
@media (max-width:980px){ .mai-proj .slide{ grid-template-columns:1fr; } }


.mai-proj .imgWrap {
    position:relative; border-radius:20px; overflow:hidden; min-height:420px; background:#111;
}
.mai-proj .imgWrap img {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.mai-proj .imgWrap::after{
    content:""; position:absolute; left:0; right:0; bottom:0; height:35%;
    background:linear-gradient(180deg,rgba(0,0,0,0) 0%, rgba(0,0,0,.6) 100%);
}

.mai-proj .kpis{
    position:absolute;
    left:16px;
    bottom:16px;
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
.mai-proj .pill{
    backdrop-filter:blur(6px);
    background:rgba(0,0,0,.7);
    color:#fff;
    border-radius:16px;
    padding:14px 18px;
    min-width:160px;
    box-shadow:0 8px 20px rgba(0,0,0,.4);
}
.mai-proj .pill .val{ font-size:26px; font-weight:800; line-height:1; display:block; color:var(--accent); }
.mai-proj .pill .lab{ font-size:13px; opacity:.9; }


.mai-proj .panel{
    background:#fff;
    color:#111;
    border-radius:20px;
    padding:clamp(20px,3vw,40px);
    box-shadow:0 10px 30px rgba(0,0,0,.25);
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.mai-proj .badge{
    display:inline-block;
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    background:#111;
    color:#fff;
    padding:6px 10px;
    border-radius:999px;
    margin-bottom:14px;
    font-weight:600;
}
.mai-proj .heading{
    font-size:clamp(28px,4vw,52px);
    line-height:1.05;
    font-weight:700;
    margin:0 0 16px;
}

.mai-proj .heading em{
    color:#6f6f6f;
    font-style:normal;
    font-weight:400;
}
.mai-proj .text{
    color:#333;
    line-height:1.7;
    margin:0 0 22px;
}

.mai-proj .link{
    display:inline-flex;
    gap:.5rem;
    align-items:center;
    font-weight:600;
    color:#111;
    text-decoration:none;
    border-bottom:2px solid #111;
    width:fit-content;
}
.mai-proj .link:hover{
    color:var(--accent);
    border-bottom-color:var(--accent);
}

.mai-proj .arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background: rgba(255, 255, 255, 0.21);
    color: #fefefe; cursor:pointer;
    border:none; font-size:20px;
    transition:background .2s ease, color .2s ease;
}
.mai-proj .arrow:hover{
    background:var(--accent);
    color:#111;
}
.mai-proj .prev{
    left:20px;
}
.mai-proj .next{
      right:20px;
  }

.mai-proj .dots{
    display:flex;
    gap:10px;
    justify-content:center;
    margin-top:20px;
}
.mai-proj .dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#666;
    border:2px solid transparent;
 }

.mai-proj .dotBtn{
    background:none;
    border:none;
    padding:4px;
    cursor:pointer;
}
.mai-proj .dot.active{
    background:var(--accent);
    border-color:#000;
}
