/*==================================================
ADDITIONAL CORPORATE PAGE COMPONENTS
HYDRO & VOLT GROUP
==================================================*/


/*==================================================
SMALL PAGE HERO
==================================================*/

.hero-small{
    min-height:720px;
    height:78vh;
}

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

.hero-background{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.hero-background img{
    width:100%;
    height:100%;
    object-fit:cover;
}


/*==================================================
GENERAL FORM STYLES
==================================================*/

.application-section{
    background:#0b0b0b;
}

.contact-form,
.career-form{
    max-width:1100px;
    margin:0 auto;
    padding:55px;
    background:linear-gradient(180deg,#181818,#101010);
    border:1px solid rgba(255,255,255,.07);
    border-radius:30px;
    box-shadow:0 30px 80px rgba(0,0,0,.35);
}

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

.form-group{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.form-group-full{
    grid-column:1 / -1;
}

.form-group label,
.file-label,
.upload-box label{
    font-size:14px;
    font-weight:700;
    letter-spacing:.5px;
    color:#efefef;
}

.contact-form input,
.contact-form textarea,
.contact-form select,
.career-form input,
.career-form textarea,
.career-form select{
    width:100%;
    padding:18px 20px;
    background:#101010;
    border:1px solid rgba(255,255,255,.1);
    border-radius:14px;
    color:#fff;
    font-size:15px;
    transition:.3s;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus,
.career-form input:focus,
.career-form textarea:focus,
.career-form select:focus{
    border-color:var(--gold);
    box-shadow:0 0 0 4px rgba(201,164,90,.1);
}

.contact-form textarea,
.career-form textarea{
    resize:vertical;
    min-height:170px;
}

.contact-form select,
.career-form select{
    appearance:none;
    cursor:pointer;
}

.contact-form small,
.career-form small{
    color:#929292;
    font-size:12px;
    margin-top:5px;
}

.form-consent{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin:30px 0;
}

.form-consent input{
    width:18px;
    height:18px;
    accent-color:var(--gold);
    flex-shrink:0;
    margin-top:4px;
}

.form-consent label{
    color:#bbb;
    font-size:14px;
}

.form-message{
    margin-top:20px;
    color:var(--gold);
    font-weight:600;
}

.upload-box{
    margin:25px 0;
    padding:25px;
    border:1px dashed rgba(201,164,90,.45);
    border-radius:16px;
    background:rgba(201,164,90,.04);
}


/*==================================================
CONTACT CARDS
==================================================*/

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

.contact-card{
    padding:40px 30px;
    background:#161616;
    border:1px solid rgba(255,255,255,.06);
    border-radius:22px;
    text-align:center;
    transition:.35s;
}

.contact-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
}

.contact-card i{
    font-size:45px;
    color:var(--gold);
    margin-bottom:22px;
}

.contact-card h3{
    font-size:23px;
    margin-bottom:12px;
}

.contact-card p{
    color:#c7c7c7;
}


/*==================================================
MAP
==================================================*/

.map-section{
    background:#101010;
}

.map-wrapper{
    overflow:hidden;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 30px 80px rgba(0,0,0,.4);
}

.map-wrapper iframe{
    display:block;
    width:100%;
    filter:grayscale(100%) invert(92%) contrast(85%);
}

.map-actions{
    display:flex;
    justify-content:center;
    margin-top:35px;
}


/*==================================================
WORKING HOURS
==================================================*/

.working-hours-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.working-hours-card{
    padding:40px 30px;
    background:#161616;
    border:1px solid rgba(255,255,255,.06);
    border-radius:22px;
    text-align:center;
    transition:.35s;
}

.working-hours-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
}

.working-hours-icon{
    width:75px;
    height:75px;
    margin:0 auto 22px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(201,164,90,.12);
    border-radius:50%;
}

.working-hours-icon i{
    color:var(--gold);
    font-size:31px;
}

.working-hours-card h3{
    font-size:22px;
    margin-bottom:10px;
}

.working-hours-card p{
    color:#c7c7c7;
}


/*==================================================
GLOBAL TIME CARDS
==================================================*/

.global-time-section{
    background:#0d0d0d;
}

.global-time-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.time-card{
    padding:42px 25px;
    background:linear-gradient(180deg,#191919,#101010);
    border:1px solid rgba(255,255,255,.06);
    border-radius:22px;
    text-align:center;
    transition:.35s;
}

.time-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
}

.time-card > span{
    display:block;
    color:var(--gold);
    font-size:13px;
    font-weight:700;
    letter-spacing:3px;
    margin-bottom:15px;
}

.time-card h3{
    font-size:42px;
    margin-bottom:10px;
    font-variant-numeric:tabular-nums;
}

.time-card p{
    color:#a9a9a9;
}


/*==================================================
SOCIAL CARDS
==================================================*/

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

.social-card{
    padding:42px 30px;
    background:#161616;
    border:1px solid rgba(255,255,255,.06);
    border-radius:22px;
    text-align:center;
    transition:.35s;
}

.social-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
    background:#1a1a1a;
}

.social-card i{
    font-size:46px;
    color:var(--gold);
    margin-bottom:20px;
}

.social-card h3{
    font-size:24px;
    margin-bottom:12px;
}

.social-card p{
    color:#bdbdbd;
}


/*==================================================
FAQ
==================================================*/

.faq-section{
    background:#0c0c0c;
}

.faq-wrapper{
    max-width:1050px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:16px;
}

.faq-item{
    background:#161616;
    border:1px solid rgba(255,255,255,.07);
    border-radius:18px;
    overflow:hidden;
    transition:.35s;
}

.faq-item:hover,
.faq-item.active{
    border-color:rgba(201,164,90,.65);
}

.faq-item h3{
    position:relative;
    padding:25px 65px 25px 28px;
    font-size:19px;
    cursor:pointer;
}

.faq-item h3::after{
    content:"+";
    position:absolute;
    right:25px;
    top:50%;
    transform:translateY(-50%);
    color:var(--gold);
    font-size:28px;
    font-weight:400;
}

.faq-item.active h3::after{
    content:"−";
}

.faq-item > p,
.faq-answer{
    display:none;
    padding:0 28px 26px;
    color:#c3c3c3;
}

.faq-item.active > p,
.faq-item.active .faq-answer{
    display:block;
}

.faq-answer p{
    color:#c3c3c3;
}


/*==================================================
FILTER BUTTONS
==================================================*/

.filter-buttons{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px;
    margin-bottom:55px;
}

.filter-buttons button{
    padding:13px 24px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:40px;
    background:#151515;
    color:#fff;
    font-family:inherit;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.filter-buttons button:hover,
.filter-buttons button.active{
    color:#000;
    background:var(--gold);
    border-color:var(--gold);
}


/*==================================================
DOWNLOAD CARDS
==================================================*/

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

.download-card{
    display:flex;
    align-items:center;
    gap:22px;
    padding:28px;
    background:#161616;
    border:1px solid rgba(255,255,255,.07);
    border-radius:20px;
    transition:.35s;
}

.download-card:hover{
    transform:translateY(-7px);
    border-color:var(--gold);
}

.download-icon{
    width:68px;
    height:68px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:rgba(201,164,90,.12);
}

.download-icon i{
    font-size:30px;
    color:var(--gold);
}

.download-content{
    flex:1;
}

.download-content > span{
    color:var(--gold);
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
}

.download-content h3{
    font-size:20px;
    margin:8px 0;
}

.download-content p{
    color:#aaa;
    font-size:14px;
}

.download-meta{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:14px;
}

.download-meta span{
    color:#999;
    font-size:12px;
}

.download-meta i{
    color:var(--gold);
    margin-right:5px;
}

.download-button{
    width:48px;
    height:48px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#000;
    background:var(--gold);
    transition:.3s;
}

.download-button:hover{
    transform:scale(1.1);
    background:var(--gold-hover);
}


/*==================================================
QUALITY NOTICE
==================================================*/

.quality-notice-section{
    padding:50px 0;
    background:#0d0d0d;
}

.quality-notice{
    display:flex;
    align-items:flex-start;
    gap:25px;
    max-width:1100px;
    margin:0 auto;
    padding:32px;
}

.quality-notice-icon{
    width:60px;
    height:60px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(201,164,90,.14);
}

.quality-notice-icon i{
    color:var(--gold);
    font-size:26px;
}

.quality-notice-content h3{
    margin-bottom:10px;
    font-size:23px;
}

.quality-notice-content p{
    color:#bdbdbd;
}


/*==================================================
SCREEN READER ONLY
==================================================*/

.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
/*==================================================
PROJECTS & REFERENCES
==================================================*/

.project-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.project-item,
.project-card{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    background:#151515;
    border:1px solid rgba(255,255,255,.06);
    transition:.4s;
}

.project-item:hover,
.project-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
    box-shadow:0 30px 70px rgba(0,0,0,.4);
}

.project-image,
.project-card{
    position:relative;
    overflow:hidden;
}

.project-item img,
.project-card img{
    width:100%;
    height:330px;
    object-fit:cover;
    transition:.7s;
}

.project-item:hover img,
.project-card:hover img{
    transform:scale(1.08);
}

.project-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:32px;
    background:linear-gradient(
        180deg,
        transparent 20%,
        rgba(0,0,0,.92) 100%
    );
    opacity:0;
    transition:.4s;
}

.project-item:hover .project-overlay,
.project-card:hover .project-overlay{
    opacity:1;
}

.project-overlay span,
.project-info > span{
    color:var(--gold);
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.project-overlay h3{
    font-size:26px;
    margin:10px 0 18px;
}

.project-overlay a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--gold);
    font-weight:700;
}

.project-info{
    padding:28px;
}

.project-info h3{
    margin:10px 0 14px;
    font-size:24px;
}

.project-info p{
    color:#bdbdbd;
}


/*==================================================
FEATURED NEWS
==================================================*/

.featured-news-card{
    display:grid;
    grid-template-columns:1.25fr 1fr;
    background:#151515;
    border:1px solid rgba(255,255,255,.06);
    border-radius:28px;
    overflow:hidden;
}

.featured-news-image{
    position:relative;
    min-height:520px;
}

.featured-news-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.news-date-badge{
    position:absolute;
    top:28px;
    left:28px;
    width:86px;
    height:100px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:var(--gold);
    color:#000;
}

.news-date-badge span{
    font-size:34px;
    font-weight:800;
    line-height:1;
}

.news-date-badge small{
    margin-top:8px;
    font-size:11px;
    font-weight:800;
    letter-spacing:1px;
}

.featured-news-content{
    padding:60px;
    align-self:center;
}

.news-category,
.news-card-category{
    display:inline-flex;
    align-items:center;
    padding:8px 14px;
    border-radius:30px;
    background:rgba(201,164,90,.12);
    color:var(--gold);
    font-size:11px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.featured-news-content h2{
    font-size:42px;
    line-height:1.2;
    margin:20px 0;
}

.featured-news-content p{
    color:#c4c4c4;
    margin-bottom:18px;
}

.news-meta{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    margin:22px 0;
    color:#9f9f9f;
    font-size:13px;
}

.news-meta i{
    color:var(--gold);
    margin-right:6px;
}

.news-image{
    position:relative;
    overflow:hidden;
}

.news-card-category{
    position:absolute;
    left:22px;
    bottom:22px;
}


/*==================================================
EVENT CARDS
==================================================*/

.event-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.event-card{
    display:flex;
    gap:24px;
    padding:32px;
    background:#161616;
    border:1px solid rgba(255,255,255,.06);
    border-radius:22px;
    transition:.35s;
}

.event-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
}

.event-date{
    width:82px;
    height:94px;
    flex-shrink:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:var(--gold);
    color:#000;
}

.event-date span{
    font-size:34px;
    line-height:1;
    font-weight:800;
}

.event-date small{
    margin-top:8px;
    font-size:10px;
    font-weight:800;
}

.event-location{
    color:var(--gold);
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
}

.event-content h3{
    margin:12px 0;
    font-size:23px;
}

.event-content p{
    color:#bdbdbd;
    margin-bottom:18px;
}

.event-content a{
    color:var(--gold);
    font-weight:700;
}


/*==================================================
VIDEO SHOWCASE
==================================================*/

.video-wrapper{
    overflow:hidden;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 35px 90px rgba(0,0,0,.4);
}

.video-wrapper video{
    display:block;
    width:100%;
    max-height:760px;
    object-fit:cover;
}

.factory-video-section,
.campus-video-section,
.video-showcase{
    position:relative;
    overflow:hidden;
}

.factory-video-section{
    min-height:720px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.factory-video-section > video,
.campus-video-section > video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.overlay-dark{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.62);
}

.factory-video-section .video-content,
.campus-video-section .video-content{
    position:relative;
    z-index:3;
    max-width:900px;
    margin:auto;
    padding:120px 30px;
    text-align:center;
}

.campus-video-section{
    min-height:780px;
    display:flex;
    align-items:center;
}


/*==================================================
ACHIEVEMENTS
==================================================*/

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

.achievement-card{
    padding:48px 30px;
    text-align:center;
    background:#161616;
    border:1px solid rgba(255,255,255,.06);
    border-radius:22px;
    transition:.35s;
}

.achievement-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
}

.achievement-card h2{
    color:var(--gold);
    font-size:54px;
    margin-bottom:10px;
}

.achievement-card p{
    color:#c5c5c5;
}


/*==================================================
JOBS
==================================================*/

.job-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.job-card{
    padding:38px;
    background:#161616;
    border:1px solid rgba(255,255,255,.06);
    border-radius:24px;
    transition:.35s;
}

.job-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
}

.job-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}

.job-header h3{
    font-size:24px;
}

.job-type{
    flex-shrink:0;
    padding:7px 12px;
    border-radius:30px;
    background:rgba(201,164,90,.12);
    color:var(--gold);
    font-size:11px;
    font-weight:800;
}

.job-card p{
    color:#bdbdbd;
    margin-bottom:22px;
}

.job-card ul{
    margin-bottom:28px;
}

.job-card li{
    color:#d3d3d3;
    margin-bottom:10px;
}


/*==================================================
REGIONAL NETWORK
==================================================*/

.region-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.region-card{
    overflow:hidden;
    background:#151515;
    border:1px solid rgba(255,255,255,.06);
    border-radius:24px;
    transition:.35s;
}

.region-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
}

.region-image img{
    width:100%;
    height:260px;
    object-fit:cover;
}

.region-content{
    padding:32px;
}

.region-content > span{
    color:var(--gold);
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
}

.region-content h3{
    margin:10px 0 14px;
    font-size:25px;
}

.region-content p{
    color:#bdbdbd;
    margin-bottom:20px;
}

.region-content li{
    display:flex;
    align-items:center;
    gap:10px;
    color:#d1d1d1;
    margin-bottom:10px;
}

.region-content li i{
    color:var(--gold);
}


/*==================================================
LANGUAGE CARDS
==================================================*/

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

.language-card{
    padding:38px 28px;
    text-align:center;
    background:#161616;
    border:1px solid rgba(255,255,255,.06);
    border-radius:22px;
    transition:.35s;
}

.language-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
}

.language-code{
    width:66px;
    height:66px;
    margin:0 auto 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--gold);
    color:#000;
    font-size:18px;
    font-weight:800;
}

.language-card h3{
    margin-bottom:12px;
    font-size:24px;
}

.language-card p{
    color:#bdbdbd;
    margin-bottom:18px;
}

.language-card a{
    color:var(--gold);
    font-weight:700;
}


/*==================================================
DOCUMENT SEARCH
==================================================*/

.document-search-box,
.site-search-box{
    position:relative;
    max-width:850px;
    margin:0 auto;
    display:flex;
    align-items:center;
    background:#151515;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50px;
    overflow:hidden;
    transition:.3s;
}

.document-search-box:focus-within,
.site-search-box:focus-within{
    border-color:var(--gold);
    box-shadow:0 0 0 4px rgba(201,164,90,.08);
}

.document-search-box > i,
.site-search-box > i{
    margin-left:24px;
    color:var(--gold);
}

.document-search-box input,
.site-search-box input{
    width:100%;
    padding:20px 20px;
    background:transparent;
    border:none;
    color:#fff;
    font-size:16px;
}

.document-search-box button,
.site-search-box button{
    width:55px;
    height:55px;
    margin-right:5px;
    border:none;
    border-radius:50%;
    background:transparent;
    color:#aaa;
    cursor:pointer;
}

.document-result-count{
    margin-top:18px;
    text-align:center;
    color:#999;
}


/*==================================================
SITE SEARCH
==================================================*/

.site-search-form{
    display:flex;
    align-items:center;
    gap:18px;
    max-width:1050px;
    margin:0 auto;
}

.site-search-form .site-search-box{
    flex:1;
    margin:0;
}

.popular-searches{
    max-width:1050px;
    margin:24px auto 0;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:10px;
}

.popular-searches > span{
    color:#999;
}

.popular-searches button{
    padding:8px 14px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:30px;
    background:#151515;
    color:#ddd;
    cursor:pointer;
    transition:.3s;
}

.popular-searches button:hover{
    color:#000;
    background:var(--gold);
}

.search-results-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.search-result-card{
    display:flex;
    gap:22px;
    padding:30px;
    background:#161616;
    border:1px solid rgba(255,255,255,.06);
    border-radius:22px;
    transition:.35s;
}

.search-result-card:hover{
    transform:translateY(-8px);
    border-color:var(--gold);
}

.search-result-icon{
    width:65px;
    height:65px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:rgba(201,164,90,.12);
}

.search-result-icon i{
    color:var(--gold);
    font-size:28px;
}

.search-result-content > span{
    color:var(--gold);
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
}

.search-result-content h3{
    margin:8px 0 10px;
    font-size:22px;
}

.search-result-content p{
    color:#bdbdbd;
    margin-bottom:16px;
}

.search-result-content a{
    color:var(--gold);
    font-weight:700;
}

.search-suggestion-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.search-suggestion-card{
    padding:26px 20px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:18px;
    background:#161616;
    color:#fff;
    cursor:pointer;
    transition:.35s;
}

.search-suggestion-card:hover{
    transform:translateY(-7px);
    border-color:var(--gold);
}

.search-suggestion-card i{
    display:block;
    margin-bottom:14px;
    color:var(--gold);
    font-size:30px;
}


/*==================================================
SITE DIRECTORY
==================================================*/

.site-directory-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}

.directory-column{
    padding:34px;
    background:#161616;
    border:1px solid rgba(255,255,255,.06);
    border-radius:22px;
}

.directory-icon{
    width:62px;
    height:62px;
    margin-bottom:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:rgba(201,164,90,.12);
}

.directory-icon i{
    color:var(--gold);
    font-size:27px;
}

.directory-column h3{
    margin-bottom:20px;
    font-size:23px;
}

.directory-column li{
    margin-bottom:13px;
}

.directory-column a{
    display:flex;
    align-items:center;
    gap:10px;
    color:#c4c4c4;
    transition:.3s;
}

.directory-column a i{
    color:var(--gold);
    font-size:11px;
}

.directory-column a:hover{
    color:var(--gold);
    transform:translateX(5px);
}


/*==================================================
LEGAL PAGES
==================================================*/

.legal-section{
    background:#0b0b0b;
}

.legal-wrapper{
    display:grid;
    grid-template-columns:290px 1fr;
    gap:55px;
    align-items:start;
}

.legal-sidebar{
    position:sticky;
    top:120px;
    padding:28px;
    background:#151515;
    border:1px solid rgba(255,255,255,.06);
    border-radius:20px;
}

.legal-sidebar li{
    margin-bottom:14px;
}

.legal-sidebar a{
    color:#bbb;
    transition:.3s;
}

.legal-sidebar a:hover{
    color:var(--gold);
}

.legal-content{
    padding:45px;
    background:#151515;
    border:1px solid rgba(255,255,255,.06);
    border-radius:24px;
}

.legal-content section{
    padding:0 0 45px;
    margin-bottom:45px;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.legal-content section:last-child{
    padding-bottom:0;
    margin-bottom:0;
    border-bottom:none;
}

.legal-content h2{
    margin-bottom:20px;
    font-size:30px;
}

.legal-content p{
    color:#c2c2c2;
    margin-bottom:16px;
}

.legal-content ul{
    padding-left:22px;
    list-style:disc;
}

.legal-content li{
    color:#c2c2c2;
    margin-bottom:10px;
}

.legal-table{
    overflow:hidden;
    border-radius:14px;
}

.legal-table th{
    background:rgba(201,164,90,.12);
    color:var(--gold);
    text-align:left;
}

.legal-table td{
    color:#c4c4c4;
}


/*==================================================
COOKIE SWITCH
==================================================*/

.cookie-switch{
    position:relative;
    display:inline-block;
    width:58px;
    height:32px;
    margin-top:20px;
}

.cookie-switch input{
    opacity:0;
    width:0;
    height:0;
}

.cookie-switch .slider{
    position:absolute;
    inset:0;
    border-radius:40px;
    background:#333;
    cursor:pointer;
    transition:.3s;
}

.cookie-switch .slider::before{
    content:"";
    position:absolute;
    width:24px;
    height:24px;
    left:4px;
    top:4px;
    border-radius:50%;
    background:#fff;
    transition:.3s;
}

.cookie-switch input:checked + .slider{
    background:var(--gold);
}

.cookie-switch input:checked + .slider::before{
    transform:translateX(26px);
}


/*==================================================
404 PAGE
==================================================*/

.error-section{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
}

.error-background{
    position:absolute;
    inset:0;
}

.error-background video{
    width:100%;
    height:100%;
    object-fit:cover;
}

.error-content{
    position:relative;
    z-index:3;
    max-width:900px;
    margin:0 auto;
    padding:180px 0 100px;
    text-align:center;
}

.error-code{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    margin-bottom:25px;
}

.error-code > span{
    font-size:170px;
    line-height:1;
    font-weight:800;
    color:var(--gold);
}

.error-gear i{
    font-size:115px;
    color:#fff;
    animation:rotateSlow 12s linear infinite;
}

.error-content h1{
    font-size:54px;
    margin:18px 0;
}

.error-content p{
    max-width:720px;
    margin:0 auto 35px;
    color:#d1d1d1;
}

.error-actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:18px;
}

.error-search{
    max-width:700px;
    margin:35px auto 0;
}

/*==================================================
FINAL CORE COMPONENTS
HYDRO & VOLT GROUP
==================================================*/


/*==================================================
ROOT VARIABLES
==================================================*/

:root{

    --gold:#c9a45a;

    --gold-hover:#e0bd73;

    --black:#080808;

    --dark:#0f0f0f;

    --card:#161616;

    --text:#ffffff;

    --muted:#b8b8b8;

    --border:rgba(255,255,255,.08);

    --container-width:1380px;

    --header-height:92px;

}


/*==================================================
GLOBAL RESET
==================================================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}


html{

    scroll-behavior:smooth;

    scroll-padding-top:110px;

}


body{

    margin:0;

    background:var(--black);

    color:var(--text);

    font-family:"Montserrat",sans-serif;

    font-size:16px;

    line-height:1.7;

    overflow-x:hidden;

}


body.menu-open{

    overflow:hidden;

}


img,
video{

    max-width:100%;

}


img{

    display:block;

}


a{

    color:inherit;

    text-decoration:none;

}


ul,
ol{

    list-style:none;

}


button,
input,
textarea,
select{

    font:inherit;

}


button{

    border:none;

}


section{

    position:relative;

    padding:120px 0;

}


.container{

    width:min(

        calc(100% - 60px),

        var(--container-width)

    );

    margin:0 auto;

}


::selection{

    color:#000;

    background:var(--gold);

}


::-webkit-scrollbar{

    width:10px;

}


::-webkit-scrollbar-track{

    background:#090909;

}


::-webkit-scrollbar-thumb{

    border-radius:10px;

    background:var(--gold);

}


/*==================================================
TYPOGRAPHY
==================================================*/

h1,
h2,
h3,
h4,
h5,
h6{

    line-height:1.2;

    font-weight:700;

}


p{

    color:var(--muted);

}


.section-title{

    max-width:880px;

    margin:0 auto 65px;

    text-align:center;

}


.section-title > span,
.section-subtitle,
.about-left > span,
.factory-content > span,
.cta-box > span{

    display:inline-block;

    margin-bottom:16px;

    color:var(--gold);

    font-size:13px;

    font-weight:800;

    letter-spacing:3px;

    text-transform:uppercase;

}


.section-title h2{

    margin-bottom:20px;

    font-size:clamp(38px,4vw,62px);

}


.section-title p{

    max-width:750px;

    margin:0 auto;

    font-size:17px;

}


.about-left h2,
.factory-content h2{

    margin-bottom:25px;

    font-size:clamp(38px,4vw,60px);

}


.about-left p,
.factory-content p{

    margin-bottom:18px;

    font-size:17px;

}


/*==================================================
GLASS EFFECT
==================================================*/

.glass{

    background:

    linear-gradient(

        145deg,

        rgba(255,255,255,.06),

        rgba(255,255,255,.02)

    );

    border:1px solid rgba(255,255,255,.09);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border-radius:24px;

}


/*==================================================
BUTTONS
==================================================*/

.gold-button,
.transparent-button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    min-height:54px;

    padding:14px 28px;

    border-radius:40px;

    font-size:14px;

    font-weight:800;

    letter-spacing:.4px;

    transition:.35s ease;

    cursor:pointer;

}


.gold-button{

    color:#000;

    background:var(--gold);

}


.gold-button:hover{

    color:#000;

    background:var(--gold-hover);

    transform:translateY(-3px);

    box-shadow:

    0 18px 40px

    rgba(201,164,90,.22);

}


.transparent-button{

    color:#fff;

    border:1px solid rgba(255,255,255,.28);

    background:rgba(255,255,255,.03);

}


.transparent-button:hover{

    color:#000;

    border-color:var(--gold);

    background:var(--gold);

    transform:translateY(-3px);

}


.gold-button:disabled{

    opacity:.55;

    cursor:not-allowed;

    transform:none;

}


/*==================================================
HEADER
==================================================*/

.header{

    position:fixed;

    top:0;

    left:0;

    z-index:10000;

    width:100%;

    height:var(--header-height);

    display:flex;

    align-items:center;

    background:

    linear-gradient(

        180deg,

        rgba(0,0,0,.82),

        rgba(0,0,0,.2)

    );

}


.header.scrolled{

    background:rgba(8,8,8,.94);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    box-shadow:

    0 15px 40px

    rgba(0,0,0,.3);

}


.header .container{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;

}


.logo{

    width:210px;

    flex-shrink:0;

}


.logo img{

    width:100%;

}


.navbar{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:25px;

}


.navbar a{

    position:relative;

    padding:10px 0;

    color:#e7e7e7;

    font-size:13px;

    font-weight:700;

    transition:.3s;

}


.navbar a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:0;

    height:2px;

    background:var(--gold);

    transition:.3s;

}


.navbar a:hover,
.navbar a.active{

    color:var(--gold);

}


.navbar a:hover::after,
.navbar a.active::after{

    width:100%;

}


.header-buttons{

    flex-shrink:0;

}


.mobile-menu{

    display:none;

    width:48px;

    height:48px;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    color:#fff;

    background:#171717;

    cursor:pointer;

}


.mobile-menu i{

    font-size:21px;

}


/*==================================================
HERO
==================================================*/

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    padding:180px 0 110px;

}


.hero > video{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

}


.hero .overlay,
.corporate-video .overlay,
.error-section .overlay{

    position:absolute;

    inset:0;

    z-index:1;

    background:

    linear-gradient(

        90deg,

        rgba(0,0,0,.9),

        rgba(0,0,0,.52),

        rgba(0,0,0,.7)

    );

}


.hero .container{

    position:relative;

    z-index:3;

}


.hero-content{

    max-width:920px;

}


.hero-content h5{

    margin-bottom:18px;

    color:var(--gold);

    font-size:14px;

    letter-spacing:4px;

}


.hero-content h1{

    max-width:980px;

    margin-bottom:25px;

    font-size:clamp(50px,6vw,96px);

    line-height:1.04;

}


.hero-content p{

    max-width:800px;

    margin-bottom:35px;

    color:#dedede;

    font-size:18px;

}


.hero-buttons,
.about-buttons,
.cta-buttons{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:16px;

}


/*==================================================
ABOUT SECTION
==================================================*/

.about-section{

    background:#0d0d0d;

}


.about-section .container{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    align-items:center;

    gap:80px;

}


.about-left,
.about-right{

    min-width:0;

}


.about-right img,
.image-card img{

    width:100%;

    height:100%;

    object-fit:cover;

}


.image-card{

    position:relative;

    min-height:480px;

    overflow:hidden;

    border-radius:28px;

    border:1px solid var(--border);

    box-shadow:

    0 30px 80px

    rgba(0,0,0,.4);

}


.image-card.large{

    min-height:590px;

}


/*==================================================
SERVICE CARDS
==================================================*/

.services-section{

    background:#090909;

}


.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}


.service-card{

    position:relative;

    padding:38px 32px;

    overflow:hidden;

    background:

    linear-gradient(

        180deg,

        #181818,

        #111

    );

    border:1px solid var(--border);

    border-radius:24px;

    transition:.4s;

}


.service-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:3px;

    background:

    linear-gradient(

        90deg,

        transparent,

        var(--gold),

        transparent

    );

    transform:scaleX(0);

    transition:.4s;

}


.service-card:hover{

    transform:translateY(-10px);

    border-color:rgba(201,164,90,.7);

    box-shadow:

    0 30px 70px

    rgba(0,0,0,.35);

}


.service-card:hover::before{

    transform:scaleX(1);

}


.service-icon,
.service-card > i{

    width:72px;

    height:72px;

    margin-bottom:24px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    color:var(--gold);

    background:rgba(201,164,90,.12);

    font-size:31px;

}


.service-card h3{

    margin-bottom:15px;

    font-size:24px;

}


.service-card p{

    margin-bottom:20px;

}


.service-card a{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--gold);

    font-weight:700;

}


/*==================================================
WHY CARDS
==================================================*/

.why-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}


.why-card{

    padding:38px 28px;

    background:#161616;

    border:1px solid var(--border);

    border-radius:22px;

    transition:.35s;

}


.why-card:hover{

    transform:translateY(-10px);

    border-color:var(--gold);

}


.why-card > i{

    margin-bottom:22px;

    color:var(--gold);

    font-size:40px;

}


.why-card h3{

    margin-bottom:12px;

    font-size:22px;

}


.why-card a{

    display:inline-block;

    margin-top:16px;

    color:var(--gold);

    font-weight:700;

}


/*==================================================
FEATURE LIST
==================================================*/

.factory-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:14px 22px;

    margin-top:28px;

}


.feature{

    display:flex;

    align-items:center;

    gap:12px;

    color:#d4d4d4;

}


.feature i,
.factory-features li i{

    color:var(--gold);

}


/*==================================================
PROCESS
==================================================*/

.process-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:24px;

}


.process-card{

    position:relative;

    padding:38px 30px;

    background:#161616;

    border:1px solid var(--border);

    border-radius:22px;

    transition:.35s;

}


.process-card:hover{

    transform:translateY(-9px);

    border-color:var(--gold);

}


.process-card > span{

    display:block;

    margin-bottom:20px;

    color:var(--gold);

    font-size:42px;

    font-weight:800;

}


.process-card h3{

    margin-bottom:12px;

    font-size:23px;

}


/*==================================================
STATISTICS
==================================================*/

.stats-section{

    background:

    radial-gradient(

        circle at center,

        rgba(201,164,90,.08),

        transparent 55%

    ),

    #0a0a0a;

}


.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}


.stat-box{

    padding:45px 25px;

    text-align:center;

    background:#151515;

    border:1px solid var(--border);

    border-radius:22px;

}


.stat-box h2{

    margin-bottom:10px;

    color:var(--gold);

    font-size:54px;

}


.stat-box h4,
.stat-box span{

    color:#cecece;

    font-size:15px;

}


/*==================================================
PARTNERS
==================================================*/

.partners{

    overflow:hidden;

    background:#0e0e0e;

}


.partner-logos{

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:20px;

}


.partner-logos > img,
.partner-logo-card{

    min-height:120px;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:22px;

    background:#161616;

    border:1px solid var(--border);

    border-radius:18px;

    transition:.35s;

}


.partner-logos > img{

    width:100%;

    object-fit:contain;

}


.partner-logo-card img{

    max-width:145px;

    max-height:65px;

    object-fit:contain;

}


.partner-logo-card:hover{

    transform:translateY(-7px);

    border-color:var(--gold);

}


/*==================================================
GALLERY
==================================================*/

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:22px;

}


.gallery-grid img{

    width:100%;

    height:340px;

    object-fit:cover;

    border-radius:22px;

    border:1px solid var(--border);

    transition:.45s;

}


.gallery-grid img:hover{

    transform:scale(1.025);

    border-color:var(--gold);

}


/*==================================================
TESTIMONIAL
==================================================*/

.testimonial-slider{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}


.testimonial-card{

    padding:38px;

    background:#161616;

    border:1px solid var(--border);

    border-radius:22px;

}


.testimonial-card .quote{

    margin-bottom:18px;

    color:var(--gold);

    font-size:30px;

}


.testimonial-card p{

    margin-bottom:20px;

    font-size:17px;

}


.testimonial-card h4{

    margin-bottom:5px;

}


.testimonial-card > span{

    color:var(--gold);

    font-size:13px;

}


/*==================================================
CTA
==================================================*/

.cta-section{

    background:#090909;

}


.cta-box{

    max-width:1180px;

    margin:0 auto;

    padding:80px 60px;

    text-align:center;

    background:

    radial-gradient(

        circle at top,

        rgba(201,164,90,.18),

        transparent 50%

    ),

    linear-gradient(

        145deg,

        #1b1b1b,

        #101010

    );

    border:1px solid rgba(201,164,90,.22);

    border-radius:34px;

}


.cta-box h2{

    margin-bottom:20px;

    font-size:clamp(40px,4vw,64px);

}


.cta-box p{

    max-width:820px;

    margin:0 auto 32px;

    font-size:17px;

}


.cta-buttons{

    justify-content:center;

}


/*==================================================
FOOTER
==================================================*/

.footer{

    padding:90px 0 30px;

    background:#070707;

    border-top:1px solid var(--border);

}


.footer-grid{

    display:grid;

    grid-template-columns:1.4fr repeat(3,1fr);

    gap:55px;

}


.footer-logo{

    width:220px;

    margin-bottom:22px;

}


.footer h4{

    margin-bottom:20px;

    color:var(--gold);

    font-size:18px;

}


.footer li{

    margin-bottom:10px;

}


.footer a,
.footer p{

    color:#aaa;

    transition:.3s;

}


.footer a:hover{

    color:var(--gold);

}


.social{

    display:flex;

    align-items:center;

    gap:12px;

    margin-top:25px;

}


.social a{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#161616;

    border:1px solid var(--border);

}


.social a:hover{

    color:#000;

    background:var(--gold);

    border-color:var(--gold);

}


.footer hr{

    margin:55px 0 25px;

    border:none;

    border-top:1px solid var(--border);

}


.footer-bottom{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:25px;

    margin-top:55px;

    padding-top:25px;

    border-top:1px solid var(--border);

}


/*==================================================
FLOATING BUTTONS
==================================================*/

.whatsapp-button,
#topButton{

    position:fixed;

    right:24px;

    z-index:9999;

    width:56px;

    height:56px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    color:#fff;

    cursor:pointer;

}


.whatsapp-button{

    bottom:92px;

    background:#25d366;

    font-size:26px;

}


#topButton{

    bottom:24px;

    background:var(--gold);

    color:#000;

    font-size:18px;

}


/*==================================================
CORPORATE VIDEO
==================================================*/

.corporate-video{

    position:relative;

    min-height:760px;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

}


.corporate-video > video{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

}


.corporate-video .video-content{

    position:relative;

    z-index:3;

    max-width:900px;

    padding:60px 30px;

    text-align:center;

}


.corporate-video .video-content > span{

    color:var(--gold);

    font-weight:800;

    letter-spacing:3px;

}


.corporate-video h2{

    margin:18px 0;

    font-size:clamp(42px,5vw,72px);

}


/*==================================================
NEWS GRID
==================================================*/

.news-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}


.news-card{

    overflow:hidden;

    background:#161616;

    border:1px solid var(--border);

    border-radius:22px;

    transition:.35s;

}


.news-card:hover{

    transform:translateY(-9px);

    border-color:var(--gold);

}


.news-card .news-image img{

    width:100%;

    height:270px;

    object-fit:cover;

}


.news-content{

    padding:28px;

}


.news-content h3{

    margin-bottom:14px;

    font-size:23px;

}


.news-content p{

    margin-bottom:18px;

}


.news-content a{

    color:var(--gold);

    font-weight:700;

}


/*==================================================
NEWSLETTER
==================================================*/

.newsletter{

    background:#111;

}


.newsletter-content{

    max-width:900px;

    margin:0 auto;

    padding:70px 50px;

    text-align:center;

    border:1px solid var(--border);

    border-radius:30px;

    background:#161616;

}


.newsletter-content h2{

    margin-bottom:16px;

    font-size:48px;

}


.newsletter form{

    max-width:700px;

    margin:30px auto 0;

    display:flex;

    align-items:center;

    overflow:hidden;

    border-radius:50px;

    border:1px solid rgba(255,255,255,.12);

    background:#0c0c0c;

}


.newsletter input{

    flex:1;

    padding:19px 24px;

    color:#fff;

    background:transparent;

    border:none;

}


.newsletter button{

    align-self:stretch;

    padding:0 28px;

    color:#000;

    background:var(--gold);

    font-weight:800;

    cursor:pointer;

}


/*==================================================
TABLE DEFAULT
==================================================*/

table{

    width:100%;

    border-collapse:collapse;

}


th,
td{

    padding:16px;

    border:1px solid var(--border);

}


/*==================================================
FOCUS ACCESSIBILITY
==================================================*/

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{

    outline:3px solid rgba(201,164,90,.7);

    outline-offset:3px;

}

/*==================================================
GALLERY LIGHTBOX
==================================================*/

.hv-gallery-image{
    cursor:zoom-in;
}

body.lightbox-open{
    overflow:hidden;
}

.hv-lightbox{
    position:fixed;
    inset:0;
‎Devamını okuyun
