:root {
    --gold: #d4af37;
    --gold-dark: #b8882c;
    --gold-soft: rgba(212,175,55,.15);
    --bg: #070707;
    --section-bg: rgba(14,14,14,.92);
    --card-bg: rgba(12,12,12,.78);
    --muted: #d6cbbb;
    --page-text: #f4efe3;
    --frame-bg: #121319;
    --image-filter: saturate(1.18) contrast(1.12) brightness(1.08);
}

/* Homepage (index) - Gold & Black tone overrides */
.homepage {
    /* page-specific overrides can go here if needed */
}

body,
.hero,
.section,
.homepage .project .card-body,
.homepage .news,
.homepage .stats,
.homepage .info-box {
    color: var(--page-text);
}

body.homepage{
    background: radial-gradient(circle at top, rgba(212,175,55,.05), transparent 24%), #070707;
}

.homepage .section.bg-light{
    background: linear-gradient(180deg, rgba(10,10,10,.96), rgba(20,20,20,.98));
    border: 1px solid rgba(212,175,55,.10);
}

html {
    scroll-padding-top: 96px;
}

#news,
#projects,
#about,
#contact {
    scroll-margin-top: 96px;
}

#news::before,
#projects::before,
#about::before,
#contact::before {
    content: '';
    display: block;
    height: 96px;
    margin-top: -96px;
    visibility: hidden;
}

.homepage .navbar{
    background: linear-gradient(180deg, rgba(0,0,0,.98), rgba(0,0,0,.9));
}

.homepage .navbar-brand{
    color: var(--gold) !important;
}

.homepage .nav-link{ color: var(--page-text) !important; }
.homepage .nav-link:hover{ color: var(--gold) !important; }

.homepage .title{ color: var(--gold) !important; }
.hero h1{ color: var(--gold) !important; }
.btn-gold, .btn-warning{ background: var(--gold); color:#111; }

.homepage footer{ background:transparent; color:var(--muted); }

/* Homepage image frames: match The Win City look */
.homepage .carousel-img-container,
.homepage .overview-panel,
.homepage .project-img-blur {
    position: relative;
    background: linear-gradient(135deg, rgba(255,214,110,.05), rgba(18,18,18,.98));
    padding: 16px;
    border-radius: 30px;
    border: 1px solid rgba(212,175,55,.15);
    box-shadow: 0 26px 80px rgba(0,0,0,.38);
    overflow: hidden;
}

.homepage .project-img-container::after,
.homepage .carousel-img-container::after,
.homepage .overview-panel::after {
    content: '';
    position: absolute;
    inset: 10px;
    border-radius: 24px;
    border: 1px solid rgba(212,175,55,.12);
    pointer-events: none;
}

.homepage .carousel-img-main,
.homepage .overview-img {
    width: 100%;
    height: 260px;
    object-fit: contain;
    border-radius: 16px;
    display: block;
    filter: saturate(1.2) contrast(1.15) brightness(1.08);
    box-shadow: 0 18px 40px rgba(0,0,0,.28);
    transition: transform .35s ease, filter .35s ease;
}

.homepage .project-img-main:hover,
.homepage .carousel-img-main:hover,
.homepage .overview-img:hover {
    transform: scale(1.02);
    filter: saturate(1.25) contrast(1.2) brightness(1.1);
}

.hero .hero-content,
.hero .hero-text {
    background: transparent;
    border: none;
    box-shadow: none;
}

.homepage .project .card-body h5,
.homepage .news h5,
.homepage .stats h2 {
    color: var(--gold);
}

.homepage .title,
.homepage .hero h1,
.homepage .project .card-body h5,
.homepage .stats h2,
.homepage .news h5 {
    color: var(--gold) !important;
}

@media (max-width: 992px) {
    .homepage .project-img-main,
    .homepage .carousel-img-main,
    .homepage .overview-img {
        height: auto;
        max-height: 520px;
    }
    .homepage .project-img-container,
    .homepage .carousel-img-container {
        padding: 12px;
    }
}

@media (max-width: 576px) {
    .homepage .project-img-main,
    .homepage .carousel-img-main,
    .homepage .overview-img {
        max-height: 420px;
    }
    .homepage .project-img-container,
    .homepage .carousel-img-container {
        padding: 8px;
    }
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:auto;
}

body{
font-family:'Poppins',sans-serif;
font-size:16px;
line-height:1.7;
font-weight:400;
overflow-x:hidden;
background:radial-gradient(circle at top, rgba(212,175,55,.04), transparent 24%), var(--bg);
color:var(--page-text);
}

button,
a,
img,
.hero-content,
.quick-card,
.btn-primary,
.btn-secondary,
.btn-gold,
.carousel-item,
.carousel-caption{
transition:.35s ease;
}

/* NAVBAR */

.navbar{
background:rgba(0,0,0,.96);
backdrop-filter:blur(12px);
box-shadow:0 10px 35px rgba(0,0,0,.4);
}

@media (max-width: 768px) {
    .navbar {
        backdrop-filter: none;
        background: rgba(0,0,0,.98);
    }
    .project-img-blur {
        filter: none;
        opacity: .62;
    }
}

.navbar-brand{
color:var(--gold)!important;
font-family:'Montserrat',sans-serif;
font-size:1.5rem;
font-weight:800;
letter-spacing:1px;
white-space:nowrap;
line-height:1;
}

.navbar-toggler{
border:1px solid rgba(212,175,55,.22);
width:48px;
height:48px;
border-radius:14px;
display:flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,.04);
}

.navbar-toggler:hover,
.navbar-toggler:focus{
background:rgba(212,175,55,.12);
}

.navbar-toggler-icon{
filter:invert(1) sepia(1) saturate(5) hue-rotate(20deg);
}

.nav-link{
color:#fff!important;
margin-left:16px;
font-size:15px;
font-weight:500;
font-family:'Poppins',sans-serif;
}

.nav-link:hover{
color:var(--gold)!important;
}

/* HERO */

.hero{
position:relative;
min-height:100vh;
background: url("../images/hero-banner.jpg") center/cover no-repeat;
background-position:center;
background-attachment:scroll;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:#fff;
padding:0 24px;
overflow:hidden;
}

.hero::before{
content:'';
position:absolute;
inset:0;
background: none;
pointer-events:none;
}

.hero-text{
position:relative;
width:100%;
max-width:920px;
margin:0 auto;
padding:0 20px;
}

.hero-label{
font-size:1rem;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
color:var(--gold);
margin-bottom:16px;
}

.hero .hero-label {
    font-size:2.4rem !important;
    font-weight:800 !important;
    letter-spacing:2px !important;
    color:var(--gold) !important;
}

@media (max-width: 768px) {
    .hero .hero-label {
        font-size:1.8rem !important;
    }
    .hero h1 {
        font-size:clamp(2.4rem,4vw,3rem) !important;
    }
}

@media (max-width: 576px) {
    .hero .hero-label {
        font-size:1.4rem !important;
    }
    .hero h1 {
        font-size:2.2rem !important;
    }
}

.hero h1{
font-family:'Poppins',sans-serif;
font-size:clamp(2.8rem,4.8vw,4rem);
color:var(--gold);
font-weight:700;
letter-spacing:0;
line-height:1.05;
margin-bottom:16px;
max-width:840px;
margin-left:auto;
margin-right:auto;
text-shadow:none;
}

.hero-subtitle,
.hero p{
font-family:'Poppins',sans-serif;
font-size:1rem;
font-weight:500;
color:rgba(255,255,255,.92);
max-width:700px;
margin:18px auto 26px;
line-height:1.75;
letter-spacing:.08em;
text-transform:none;
}

.hero-actions{
display:flex;
align-items:center;
justify-content:center;
gap:16px;
flex-wrap:wrap;
margin-top:18px;
}

.hero-trust{
display:flex;
flex-wrap:wrap;
gap:14px;
margin-top:6px;
}

/* Quick highlight cards in hero section: horizontal layout */
.hero-quick{
    display:flex;
    gap:12px;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding:8px 6px;
    -webkit-overflow-scrolling:touch;
}

.hero-quick .quick-card{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:12px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(212,175,55,.12);
    padding:12px 14px;
    border-radius:12px;
    min-width:160px;
}

.hero-quick .quick-card i{
    font-size:1.4rem;
    color:var(--gold);
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.hero-quick .quick-card strong{display:block;color:var(--gold);font-size:16px}
.hero-quick .quick-card span{display:block;color:#e6dfcf;font-size:16px}

@media(max-width:768px){
    /* On small screens, allow wrapping so users see all cards without horizontal swipe */
    .hero-quick{gap:10px;padding:8px 4px; flex-wrap:wrap; overflow-x:visible; justify-content:space-between}
    .hero-quick .quick-card{min-width:0;padding:10px; flex:0 0 calc(50% - 10px);}
}

@media(max-width:420px){
    /* Very small screens: two columns preserved, slightly taller cards */
    .hero-quick .quick-card{flex:0 0 calc(50% - 8px); padding:9px}
}

/* Keep content inline within each card, but allow wrapping of cards into rows */
.hero-quick{align-items:center}
.hero-quick::-webkit-scrollbar{ display:none; height:0 }
.hero-quick{ -ms-overflow-style:none; scrollbar-width:none }
.hero-quick .quick-card > div{ overflow:hidden; white-space:nowrap }
.hero-quick .quick-card strong{ text-overflow:ellipsis; overflow:hidden }

/* On very small screens, show cards in two rows (3 per row) for readability */
@media (max-width:480px) {
    .hero-quick{
        flex-wrap:wrap;
        overflow-x:visible;
        gap:8px;
        align-items:stretch;
        justify-content:space-between;
        padding:6px 8px;
    }
    .hero-quick .quick-card{
        flex: 0 0 calc((100% - 16px) / 3);
        max-width: calc((100% - 16px) / 3);
        width: calc((100% - 16px) / 3);
        padding:10px 8px;
        border-radius:12px;
        min-width:0;
        height:140px;
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        text-align:center;
    }
    .hero-quick .quick-card i{font-size:1.1rem; width:30px; height:30px}
    .hero-quick .quick-card strong{font-size:12px}
    .hero-quick .quick-card span{font-size:12px}
}


.trust-card{
background:rgba(255,255,255,.04);
border:1px solid rgba(212,175,55,.28);
border-radius:28px;
padding:14px 20px;
color:#fff;
font-size:.95rem;
font-weight:600;
box-shadow:0 12px 30px rgba(0,0,0,.32);
}

.hero-btn{
padding:18px 46px;
font-size:1rem;
letter-spacing:.8px;
}

.btn-warning,
.btn-gold{
background:var(--gold);
border:none;
color:#111;
font-weight:800;
padding:18px 48px;
font-size:1.03rem;
border-radius:46px;
box-shadow:0 18px 48px rgba(212,175,55,.25);
transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

.btn-warning:hover,
.btn-gold:hover{
background:var(--gold-dark);
transform:translateY(-2px) scale(1.02);
box-shadow:0 20px 56px rgba(212,175,55,.30);
}

.btn-secondary{
background:rgba(255,255,255,.08);
color:#fff;
border:1px solid rgba(255,255,255,.18);
font-weight:700;
padding:16px 38px;
border-radius:38px;
backdrop-filter:blur(6px);
}

.btn-secondary:hover{
background:rgba(255,255,255,.18);
transform:translateY(-1px);
}

.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-gold:focus-visible,
.nav-link:focus-visible{
outline:2px solid rgba(212,175,55,.5);
outline-offset:4px;
}

.nav-link{
transform:translateY(0);
transition:color .35s ease, transform .35s ease;
}

.nav-link:hover{
color:var(--gold)!important;
transform:translateY(-2px);
}

.hero-btn:hover{
transform:translateY(-2px);
}

@media(max-width:992px){
    .hero h1{
        font-size:clamp(1.9rem,5vw,3rem);
        letter-spacing:1.2px;
    }
    .hero-content,
    .hero-text{
        margin:auto 0 auto 20px;
        padding:90px 0 60px;
        max-width:620px;
    }
}

@media(max-width:768px){
    .hero h1{
        font-size:2.4rem;
        letter-spacing:0.9px;
    }
    .hero-content,
    .hero-text{
        margin:0 16px;
        padding:70px 0 50px;
    }
    .hero-actions{
        flex-direction:column;
        gap:14px;
    }
    .hero .btn-gold,
    .hero .hero-btn,
    .btn-warning,
    .btn-secondary{
        width:100%;
        max-width:100%;
    }
    .navbar-brand{
        font-size:1.2rem;
    }
    .nav-link{
        margin-left:10px;
        font-size:14px;
    }
    .section{
        padding:70px 0;
    }
    #about .about-panel{
        grid-template-columns:1fr;
        padding:30px 24px;
        gap:24px;
    }
    .avatar{
        width:240px;
        height:240px;
        margin:0 auto;
    }
    .project-img-container{
        height:220px;
    }
    .project .card-body{
        padding:18px;
    }
    .stats .row{
        gap:8px;
        justify-content:space-between;
        flex-wrap:nowrap;
        padding-bottom:10px;
    }
    .stats .col-6{
        padding:0 6px;
        flex:0 0 23%;
        width:23%;
        min-width:0;
    }
    .stats .col-md-3{
        margin-bottom:0;
    }
    .stats h2{
        font-size:2rem;
        margin-bottom:0.25rem;
    }
    .stats p{
        font-size:0.88rem;
        margin:0;
        line-height:1.25;
    }
}

@media(max-width:576px){
    .stats .row{
        gap:6px;
        justify-content:space-between;
        flex-wrap:nowrap;
        padding-bottom:6px;
        overflow-x:hidden;
    }
    .stats .col-6{
        padding:0 4px;
        flex:0 0 22%;
        width:22%;
        min-width:0;
        margin-bottom:0;
    }
    .stats h2{
        font-size:1rem;
    }
    .stats p{
        font-size:0.75rem;
    }
    .hero{
        min-height:62vh;
        padding:50px 16px 36px;
    }
    .hero h1{
        font-size:1.9rem;
        letter-spacing:0.8px;
    }
    .hero-subtitle,
    .hero p{
        font-size:0.95rem;
        line-height:1.6;
        max-width:100%;
    }
    .hero-actions{
        gap:12px;
    }
    .navbar-brand{
        font-size:1rem;
    }
    .nav-link{
        margin-left:0;
        padding:10px 0;
    }
    .section{
        padding:50px 0;
    }
    .title{
        font-size:1.85rem;
    }
    #about .about-panel{
        padding:24px 18px;
    }
    .about-features{
        flex-direction:column;
        gap:14px;
    }
    .avatar{
        width:200px;
        height:200px;
    }
    .project-img-container,
    .homepage .project-img-main,
    .homepage .overview-img{
        max-height:320px;
        height:auto;
    }
    .project .card-body{
        padding:16px;
    }
    .project{
        min-height:auto;
    }
    .floating{
        right:12px;
        bottom:12px;
    }
    footer{
        padding:30px 16px;
    }
}

/* SECTION */

.section{
padding:70px 0;
background: var(--section-bg);
border-radius: 32px;
}

.title{
text-align:center;
color:var(--gold);
font-size:2.4rem;
font-weight:900;
margin-bottom:10px;
letter-spacing:.5px;
position:relative;
display:inline-block;
}

.title::after{
content:'';
display:block;
width:90px;
height:4px;
margin:16px auto 0;
border-radius:10px;
background:linear-gradient(90deg, var(--gold), rgba(212,175,55,.5));
}

.section p{
color:rgba(255,255,255,.80);
margin-top:12px;
max-width:760px;
text-align:center;
margin-left:auto;
margin-right:auto;
}

.bg-light{
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.08);
backdrop-filter:blur(14px);
}

#about .about-panel{
background:rgba(255,255,255,.03);
border:1px solid rgba(212,175,55,.18);
border-radius:32px;
padding:18px 18px;
box-shadow:0 32px 70px rgba(0,0,0,.22);
max-width:940px;
margin-left:auto;
margin-right:auto;
display:grid;
grid-template-columns:1fr;
position:relative;
overflow:hidden;
}

#about .about-panel::before{
content:'';
position:absolute;
left:0;
top:0;
bottom:0;
width:5px;
background:linear-gradient(180deg, var(--gold), rgba(212,175,55,.8));
border-top-left-radius:32px;
border-bottom-left-radius:32px;
}

#about .about-copy{
display:flex;
flex-direction:column;
gap:6px;
text-align:left;
}

#about .about-highlights-box{
margin-left:0;
margin-right:0;
}

#about .about-highlights{
display:grid;
grid-template-columns:1fr;
gap:0.4rem 0.75rem;
}

@media (min-width: 992px) {
    #about .about-highlights{
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

#about .about-highlights-box .row{
margin:0;
}

#about .about-highlights-box ul{
margin-bottom:0;
}

#about .contact-list-item {
  margin: 0;
  font-size: 1rem;
  color: #ffffff;
}

#about .contact-list-item strong {
  font-weight: 700;
  color: #f4d06f;
}

#about .contact-list-item a {
  color: #ffffff;
  text-decoration: none;
}

#about .contact-list-item a:hover {
  text-decoration: underline;
}

#about h3{
font-family:'Poppins',sans-serif;
font-size:2rem;
font-weight:900;
letter-spacing:-.4px;
color:#fff;
margin:0;
}

#about p{
color:rgba(255,255,255,.92);
font-size:1rem;
line-height:1.8;
margin:0;
text-align:left;
}

#about .about-features{
display:flex;
align-items:flex-start;
justify-content:flex-start;
}

#about ul{
list-style:none;
padding:0;
margin:0;
display:grid;
grid-template-columns:1fr;
gap:0.4rem 0.75rem;
}

#about ul li{
position:relative;
padding:2px 0 2px 24px;
color:rgba(255,255,255,.92);
font-size:1rem;
line-height:1.55;
background:none;
border:none;
border-radius:0;
}

@media (min-width: 992px) {
    #about ul{
        columns:2;
    }
}

#about ul li::before{
content:'';
position:absolute;
left:0;
top:0.9rem;
width:8px;
height:8px;
background:var(--gold);
border-radius:50%;
box-shadow:none;
}

@media(max-width:992px){
    .section{
        padding:45px 0;
    }
    #about .about-panel{
        grid-template-columns:1fr;
        padding:24px 20px;
        gap:18px;
    }
    #about .about-features{
        width:100%;
    }
}

@media(max-width:576px){
    .section{
        padding:32px 0;
    }
    .title{
        margin-bottom:8px;
    }
    #about .about-panel{
        padding:18px 16px;
    }
    .section.stats{
        padding-top:24px;
    }
}

.avatar{
width:320px;
height:320px;
object-fit:cover;
border-radius:50%;
border:6px solid var(--gold);
box-shadow:0 18px 50px rgba(212,175,55,.15);
}

.project{
display:flex;
flex-direction:column;
justify-content:space-between;
border-radius:24px;
overflow:hidden;
background:linear-gradient(180deg, rgba(14,14,14,.96), rgba(24,24,24,.98));
border:1px solid rgba(212,175,55,.18);
transition:.35s transform ease, .35s box-shadow ease;
box-shadow:0 22px 55px rgba(212,175,55,.12);
height:100%;
}

.project .card-body{
color:#f2efe9;
padding:24px;
position:relative;
display:flex;
flex-direction:column;
justify-content:space-between;
}

.project .card-body h5{
color:var(--gold);
font-size:1.15rem;
letter-spacing:.4px;
margin-bottom:10px;
}

.project .card-body p{
color:#ddd;
font-weight:700;
}

.project:hover{
transform:translateY(-10px);
box-shadow:0 30px 80px rgba(212,175,55,.22);
}

.project-carousel {
    position: relative;
    margin-top: 1.5rem;
}

.project-carousel-track {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    gap: 1rem;
    padding: 0 1rem 1rem;
    margin: 0;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    touch-action: auto;
}

.project-carousel-track::-webkit-scrollbar {
    display: none;
}

.project-carousel-track {
    scrollbar-width: none;
}

.project-carousel-track .row {
    flex-wrap: nowrap;
    min-width: max-content;
    gap: 1.5rem;
}

.project-card-slide {
    flex: 0 0 calc(50% - 1rem);
    min-width: calc(50% - 1rem);
    max-width: calc(50% - 1rem);
    width: calc(50% - 1rem);
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
}

.project-card-slide .card.project {
    width: 100%;
    height: 100%;
}

@media (max-width: 1199px) {
    .project-card-slide {
        flex: 0 0 calc(50% - 1rem);
        max-width: calc(50% - 1rem);
        width: calc(50% - 1rem);
    }
}

@media (max-width: 991px) {
    .project-card-slide {
        flex: 0 0 80%;
        max-width: 80%;
        width: 80%;
    }
}

@media (max-width: 767px) {
    .project-card-slide {
        flex: 0 0 90%;
        max-width: 90%;
        width: 90%;
    }
}

.news-carousel {
    position: relative;
    margin-top: 1.5rem;
}

.news-carousel-track {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    gap: 1rem;
    padding: 0 1rem 1rem;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    touch-action: auto;
}

.news-carousel-track::-webkit-scrollbar {
    display: none;
}

.news-carousel-track {
    scrollbar-width: none;
}

.news-card-slide {
    flex: 0 0 calc(33.333% - 1rem);
    min-width: calc(33.333% - 1rem);
    max-width: calc(33.333% - 1rem);
    width: calc(33.333% - 1rem);
    scroll-snap-align: center;
    display: flex;
    flex-direction: column;
    padding: 0;
}

.news-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    border-radius: 28px;
    overflow: hidden;
    background: rgba(10, 10, 10, .95);
    border: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 26px 80px rgba(0, 0, 0, .24);
}

.news-img-container {
    min-height: 220px;
    background-size: cover;
    background-position: center;
}

.news-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .75rem;
    background: rgba(0, 0, 0, .72);
}

.news-card-body h5 {
    margin: 0;
    color: var(--gold);
}

.news-card-body p {
    margin: 0;
    color: #d6d0c8;
    line-height: 1.65;
}

@media (max-width: 991px) {
    .news-card-slide {
        flex: 0 0 50%;
        max-width: 50%;
        width: 50%;
    }
}

@media (max-width: 767px) {
    .news-card-slide {
        flex: 0 0 90%;
        max-width: 90%;
        width: 90%;
    }
    .news-img-container {
        min-height: 180px;
    }
    .news-card-body {
        padding: 18px;
    }
}

@media (max-width: 576px) {
    .news-card-slide {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }
    .news-img-container {
        min-height: 160px;
    }
    .news-card-body {
        padding: 16px;
    }
    .news-card-body p {
        line-height: 1.5;
    }
}

.carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 24px rgba(0,0,0,.18);
    z-index: 10;
    cursor: pointer;
    transition: transform .25s ease, background .25s ease, opacity .25s ease;
}

.carousel-nav:hover,
.carousel-nav:focus {
    background: rgba(255,255,255,.28);
    transform: translateY(-50%) scale(1.05);
}

.carousel-nav:disabled {
    opacity: .35;
    cursor: default;
}

.carousel-nav-prev {
    left: 0.5rem;
}

.carousel-nav-next {
    right: 0.5rem;
}

.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    padding-top: 0.75rem;
}

.carousel-dots button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,.35);
    cursor: pointer;
    transition: background .25s ease, transform .25s ease;
}

.carousel-dots button.active {
    background: var(--gold);
    transform: scale(1.2);
}

@media (max-width: 991px) {
    .carousel-nav {
        display: none;
    }
}

@media (max-width: 767px) {
    .project-carousel-track {
        margin: 0 -0.5rem;
    }

    .project-card-slide {
        flex: 0 0 90%;
        width: 90%;
    }

    .project-img-container {
        min-height: 0;
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .project-img-main {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.project-img-container {
    position: relative;
    width: 100%;
    min-height: 240px;
    height: auto;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #111;
    flex-shrink: 0;
    border-radius: 28px 28px 0 0;
}

.project-img-container::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.32));
    pointer-events: none;
}

.project-img-blur {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: blur(24px) brightness(0.45);
    opacity: 0.92;
    z-index: 1;
    border-radius: 28px 28px 0 0;
}

.project-img-main {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: filter 0.5s ease;
    border-radius: 28px 28px 0 0;
}

.project-img-main {
    transform: none;
}

.project:hover .project-img-main {
    transform: none;
    filter: contrast(1.05) saturate(1.02);
}

.project-card-slide .card.project {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 100%;
    height: 100%;
    flex: 1 1 auto;
    border-radius: 28px;
    overflow: hidden;
    background: rgba(10,10,10,.95);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 26px 80px rgba(0,0,0,.24);
}

.project-card-slide .card-body {
    padding: 24px 26px 30px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.5rem;
    background: rgba(0,0,0,.72);
    border-radius: 0 0 28px 28px;
    z-index: 1;
    margin-top: -4px;
    flex: 1 1 auto;
    min-height: 180px;
}

.project-card-slide .card-body h5 {
    color: var(--gold);
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.project-card-slide .card-body p {
    color: var(--gold);
    font-weight: 700;
    font-size: 1rem;
}

.project-card-slide .card-body .project-description {
    color: rgba(242,238,233,.86);
    font-weight: 400;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-top: 0.35rem;
}

.project .card-body::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.34) 100%);
    pointer-events:none;
}

.news{
padding:25px;
background:var(--dark-soft);
border-radius:24px;
box-shadow:0 18px 45px rgba(212,175,55,.12);
height:100%;
display:flex;
flex-direction:column;
}

.news h5{
margin-bottom:14px;
color:#fff;
}

.news p{
color:#d6d0c8;
}

.contact{
background:#070707;
color:#fff;
}

.contact .title{
color:var(--gold);
}

.contact form{
background:rgba(255,255,255,.04);
padding:42px;
border-radius:28px;
border:1px solid rgba(212,175,55,.22);
box-shadow:0 26px 70px rgba(212,175,55,.14);
}

.contact .form-control,
.contact .form-select{
height:64px;
border-radius:16px;
background:rgba(255,255,255,.04);
border:1px solid rgba(212,175,55,.20);
color:#f2efe9;
font-size:15px;
font-weight:500;
padding:0 20px;
}

.contact .form-control::placeholder,
.contact .form-select option{
color:rgba(242,239,233,.66);
font-size:15px;
font-weight:400;
letter-spacing:.2px;
}

.contact .form-control:focus,
.contact .form-select:focus{
background:rgba(255,255,255,.14);
border-color:var(--gold);
color:#fff;
box-shadow:none;
}

.contact .btn-gold{
width:100%;
height:62px;
border-radius:18px;
font-size:1rem;
letter-spacing:1px;
}

.contact .btn-gold:hover{
background:var(--gold-dark);
}

.contact .btn-warning{
width:100%;
height:60px;
border-radius:14px;
}

.bonus-text{
text-align:center;
margin-top:26px;
line-height:1.9;
color:#d6d0c8;
}

.bonus-text span{
color:var(--gold);
font-weight:700;
}

/* FLOATING */

.floating{
position:fixed;
right:24px;
bottom:24px;
z-index:999;
display:flex;
flex-direction:column;
gap:14px;
align-items:flex-end;
}

.floating-btn{
display:inline-flex;
align-items:center;
gap:12px;
padding:16px 24px;
background:var(--gold);
color:#111 !important;
text-decoration:none;
font-weight:800;
font-size:1rem;
border:none;
border-radius:999px;
box-shadow:0 18px 40px rgba(212,175,55,.25);
min-width:170px;
justify-content:center;
}

.floating-btn i{
font-size:1.25rem;
}

.floating-btn:hover{
background:var(--gold-dark);
transform:translateY(-2px) scale(1.02);
}

@media (max-width: 768px) {
    .floating{
        right:16px;
        bottom:16px;
        gap:10px;
    }
    .floating-btn{
        padding:12px 16px;
        font-size:0.93rem;
        min-width:unset;
        width:auto;
        border-radius:999px;
    }
    .floating-btn span{
        display:none;
    }
    .floating-btn i{
        font-size:1.1rem;
    }
}

footer{
background:#111;
color:#ddd;
text-align:center;
padding:40px;
}

footer h4{
color:var(--gold);
margin-bottom:16px;
}

footer p{
opacity:.8;
margin-top:10px;
}

/* RESPONSIVE - UNIFORM FRAMES */

@media(max-width:1199px){
    .project-img-container{
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
}

@media(max-width:992px){
    .project-img-container{
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
}

@media(max-width:768px){
    .project-img-container{
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .project .card-body{
        padding:16px;
    }
}




