/* =========================================================
   PREVTECH GROUP — MASTER STYLESHEET
   ========================================================= */

:root{
  --primary:#0A2342;
  --primary-2:#123A63;
  --accent:#1F7A8C;
  --accent-2:#5BC0BE;
  --green:#5C8F32;
  --green-dark:#3F6F22;
  --light:#F5F7FA;
  --white:#FFFFFF;
  --text:#1F2937;
  --gray:#6B7280;
  --border:#D8DEE8;
  --shadow:0 20px 50px rgba(10,35,66,.10);
  --shadow-lg:0 30px 70px rgba(10,35,66,.16);
  --radius:18px;
  --radius-sm:12px;
  --transition:.3s ease;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:var(--white);
  line-height:1.65;
  overflow-x:hidden;
}

img{
  width:100%;
  display:block;
}

a{
  color:inherit;
  text-decoration:none;
}

ul{
  list-style:none;
}

button,
input,
select,
textarea{
  font:inherit;
}

.container{
  width:min(1180px,90%);
  margin:auto;
}

.container-small{
  width:min(860px,90%);
  margin:auto;
}

.eyebrow{
  display:inline-block;
  margin-bottom:18px;
  font-size:14px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--accent);
}

.section-title{
  text-align:center;
  margin-bottom:65px;
}

.section-title h2{
  font-family:'Manrope',sans-serif;
  font-size:50px;
  line-height:1.1;
  color:var(--primary);
  margin-bottom:18px;
}

.section-title p{
  max-width:760px;
  margin:auto;
  font-size:19px;
  color:var(--gray);
}

.section-title.light h2,
.section-title.light p{
  color:var(--white);
}

/* =========================================================
   BUTTONS
   ========================================================= */

.btn-primary,
.btn-secondary,
.btn-green,
.btn-header,
.btn-secondary-dark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 28px;
  border-radius:999px;
  font-weight:700;
  transition:var(--transition);
}

.btn-primary{
  background:var(--accent);
  color:var(--white);
}

.btn-primary:hover{
  background:#176574;
  transform:translateY(-2px);
}

.btn-secondary{
  border:1px solid rgba(255,255,255,.65);
  color:var(--white);
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}

.btn-secondary:hover{
  background:var(--white);
  color:var(--primary);
}

.btn-green{
  background:var(--green);
  color:var(--white);
}

.btn-green:hover{
  background:var(--green-dark);
  transform:translateY(-2px);
}

.btn-secondary-dark{
  border:1px solid var(--primary);
  color:var(--primary);
}

.btn-secondary-dark:hover{
  background:var(--primary);
  color:var(--white);
}

/* =========================================================
   HEADER
   ========================================================= */

#header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  transition:var(--transition);
  background:linear-gradient(to bottom,rgba(0,0,0,.45),transparent);
}

#header.scrolled{
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 35px rgba(0,0,0,.10);
  backdrop-filter:blur(14px);
}

#header .container{
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.logo img{
    height:80px;
    width:auto;
    display:block;
}

#header.scrolled .logo img{
  filter:none;
}

nav ul{
  display:flex;
  align-items:center;
  gap:24px;
}

nav a{
  color:var(--white);
  font-size:14px;
  font-weight:600;
  position:relative;
}

#header.scrolled nav a{
  color:var(--primary);
}

nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:0;
  height:2px;
  background:var(--accent-2);
  transition:var(--transition);
}

nav a:hover::after,
nav a.active::after{
  width:100%;
}

.btn-header{
  min-height:44px;
  padding:0 22px;
  background:var(--white);
  color:var(--primary);
}

#header.scrolled .btn-header{
  background:var(--primary);
  color:var(--white);
}

/* =========================================================
   HERO
   ========================================================= */

.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:var(--white);
}

.hero-media,
.hero-media img,
.hero video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.hero-media img,
.hero video{
  object-fit:cover;
}

.hero .overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,18,36,.88) 0%,rgba(10,35,66,.62) 48%,rgba(10,35,66,.18) 100%),
    linear-gradient(0deg,rgba(5,18,36,.45),transparent 55%);
  z-index:1;
}

.hero-content{
  position:relative;
  z-index:2;
  width:min(1180px,90%);
  margin:auto;
  padding-top:100px;
}

.hero-content h5{
  font-size:15px;
  letter-spacing:3px;
  margin-bottom:20px;
  color:var(--accent-2);
}

.hero-content h1{
  max-width:820px;
  font-family:'Manrope',sans-serif;
  font-size:clamp(58px,8vw,96px);
  line-height:.95;
  margin-bottom:28px;
}

.hero-content p{
  max-width:700px;
  font-size:22px;
  color:rgba(255,255,255,.88);
  margin-bottom:38px;
}

.hero-buttons{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

/* =========================================================
   INTRO
   ========================================================= */

.intro{
  padding:120px 0;
  text-align:center;
}

.intro h2{
  font-family:'Manrope',sans-serif;
  font-size:54px;
  line-height:1.08;
  color:var(--primary);
  margin-bottom:25px;
}

.intro p{
  font-size:21px;
  color:var(--gray);
}

/* =========================================================
   DIVISIONS
   ========================================================= */

.divisions{
  padding:130px 0;
  background:var(--light);
}

.division-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.division-card{
  background:var(--white);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:var(--transition);
}

.division-card:hover{
  transform:translateY(-10px);
  box-shadow:var(--shadow-lg);
}

.division-image{
  height:260px;
  overflow:hidden;
}

.division-image img{
  height:100%;
  object-fit:cover;
  transition:.5s ease;
}

.division-card:hover .division-image img{
  transform:scale(1.05);
}

.division-content{
  padding:34px;
}

.division-logo{
  width:auto;
  max-width:170px;
  max-height:58px;
  object-fit:contain;
  margin-bottom:18px;
}

.division-content h3{
  font-family:'Manrope',sans-serif;
  font-size:30px;
  color:var(--primary);
  margin-bottom:14px;
}

.division-content p{
  color:var(--gray);
  margin-bottom:22px;
}

.division-content ul{
  display:grid;
  gap:10px;
  margin-bottom:26px;
}

.division-content li{
  position:relative;
  padding-left:20px;
  color:#374151;
}

.division-content li::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
}

.division-link{
  font-weight:800;
  color:var(--accent);
}

/* =========================================================
   WHY PREVTECH
   ========================================================= */

.why-prevtech{
  padding:125px 0;
  background:var(--primary);
  color:var(--white);
}

.counter-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.counter-box{
  text-align:center;
  padding:34px 20px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--radius);
  background:rgba(255,255,255,.05);
}

.counter-box h2{
  font-family:'Manrope',sans-serif;
  font-size:48px;
  color:var(--accent-2);
  margin-bottom:8px;
}

.counter-box p{
  color:rgba(255,255,255,.82);
}

/* =========================================================
   PROCESS HOME
   ========================================================= */

.process-home{
  padding:130px 0;
}

.process-line{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:22px;
}

.process-home-step{
  position:relative;
  padding:32px 24px;
  background:var(--light);
  border-radius:var(--radius);
}

.process-home-step span{
  display:block;
  font-size:14px;
  font-weight:800;
  color:var(--accent);
  margin-bottom:18px;
}

.process-home-step h3{
  font-family:'Manrope',sans-serif;
  color:var(--primary);
  font-size:24px;
  margin-bottom:12px;
}

.process-home-step p{
  color:var(--gray);
  font-size:15px;
}

/* =========================================================
   PROJECTS
   ========================================================= */

.projects-home,
.projects-page{
  padding:130px 0;
  background:var(--light);
}

.project-grid,
.projects-page-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}

.project-card,
.project-detail-card{
  background:var(--white);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:var(--transition);
}

.project-card:hover,
.project-detail-card:hover{
  transform:translateY(-8px);
}

.project-card img,
.project-detail-card img{
  height:270px;
  object-fit:cover;
}

.project-info,
.project-detail-info{
  padding:30px;
}

.project-info span,
.project-detail-info span{
  display:inline-block;
  margin-bottom:12px;
  font-size:13px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--accent);
}

.project-info h3,
.project-detail-info h3{
  font-family:'Manrope',sans-serif;
  font-size:27px;
  color:var(--primary);
  margin-bottom:14px;
}

.project-info p,
.project-detail-info p{
  color:var(--gray);
}

.projects-action{
  text-align:center;
  margin-top:44px;
}

/* =========================================================
   LOCATION
   ========================================================= */

.location-section{
  padding:130px 0;
}

.location-section .container{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:70px;
  align-items:center;
}

.location-content h2{
  font-family:'Manrope',sans-serif;
  font-size:50px;
  line-height:1.1;
  color:var(--primary);
  margin-bottom:24px;
}

.location-content p{
  color:var(--gray);
  font-size:19px;
  margin-bottom:30px;
}

.location-image img{
  height:420px;
  object-fit:cover;
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
}

/* =========================================================
   PAGE HERO
   ========================================================= */

.page-hero{
  padding:190px 0 120px;
  text-align:center;
  color:var(--white);
  background:var(--primary);
}

.page-hero h1{
  font-family:'Manrope',sans-serif;
  font-size:64px;
  line-height:1.05;
  margin-bottom:22px;
}

.page-hero p{
  max-width:760px;
  margin:auto;
  font-size:21px;
  color:rgba(255,255,255,.84);
}

.industrial-hero,
.marine-hero,
.ecopower-hero,
.projects-hero,
.contact-hero{
  background-size:cover;
  background-position:center;
}

.industrial-hero{
  background-image:linear-gradient(rgba(10,35,66,.82),rgba(10,35,66,.82)),url("../images/industrial-hero.jpg");
}

.marine-hero{
  background-image:linear-gradient(rgba(10,35,66,.80),rgba(10,35,66,.80)),url("../images/marine-hero.jpg");
}

.ecopower-hero{
  background-image:linear-gradient(rgba(10,35,66,.78),rgba(10,35,66,.78)),url("../images/ecopower-hero.jpg");
}

.projects-hero{
  background-image:linear-gradient(rgba(10,35,66,.80),rgba(10,35,66,.80)),url("../images/projects-hero.jpg");
}

.contact-hero{
  background-image:linear-gradient(rgba(10,35,66,.82),rgba(10,35,66,.82)),url("../images/contact-hero.jpg");
}

/* =========================================================
   ABOUT / INTERNAL PAGE SHARED
   ========================================================= */

.about-company,
.industrial-intro,
.marine-intro,
.ecopower-intro,
.industries-support,
.marine-showcase,
.contact-section{
  padding:120px 0;
}

.about-company .container,
.industrial-intro .container,
.marine-intro .container,
.ecopower-intro .container,
.industries-support .container,
.marine-showcase .container,
.contact-section .container{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}

.about-left h2,
.intro-text h2,
.support-left h2,
.showcase-text h2,
.contact-info h2{
  font-family:'Manrope',sans-serif;
  font-size:48px;
  line-height:1.1;
  color:var(--primary);
  margin-bottom:26px;
}

.about-left p,
.intro-text p,
.support-left p,
.showcase-text p,
.contact-info > p{
  color:var(--gray);
  font-size:18px;
  margin-bottom:20px;
}

.about-right img{
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
}

.intro-box{
  background:var(--primary);
  color:var(--white);
  padding:42px;
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
}

.intro-box h3{
  font-family:'Manrope',sans-serif;
  font-size:30px;
  margin-bottom:24px;
}

.intro-box li{
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.15);
}

.mission,
.industrial-services,
.marine-services,
.ecopower-services{
  padding:120px 0;
  background:var(--light);
}

.mission .container{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.mission-card,
.industrial-card{
  background:var(--white);
  padding:38px;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  transition:var(--transition);
}

.mission-card:hover,
.industrial-card:hover{
  transform:translateY(-8px);
}

.mission-card h2,
.industrial-card h3{
  font-family:'Manrope',sans-serif;
  color:var(--primary);
  margin-bottom:16px;
}

.mission-card h2{
  font-size:32px;
}

.industrial-card h3{
  font-size:27px;
}

.mission-card p,
.industrial-card p{
  color:var(--gray);
}

.service-grid-industrial{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.industrial-process{
  padding:125px 0;
  background:var(--primary);
  color:var(--white);
}

.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.process-step{
  padding:32px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius);
  background:rgba(255,255,255,.05);
}

.process-step span{
  color:var(--accent-2);
  font-weight:800;
}

.process-step h3{
  font-family:'Manrope',sans-serif;
  font-size:28px;
  margin:18px 0 12px;
}

.process-step p{
  color:rgba(255,255,255,.76);
}

.support-list,
.showcase-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.support-list div,
.showcase-grid div{
  padding:24px;
  border-radius:14px;
  background:var(--light);
  color:var(--primary);
  font-weight:700;
}

.leadership{
  padding:130px 0;
  text-align:center;
}

.leadership h2{
  font-family:'Manrope',sans-serif;
  font-size:52px;
  color:var(--primary);
  margin-bottom:24px;
}

.leadership p{
  font-size:20px;
  color:var(--gray);
}

/* =========================================================
   CONTACT
   ========================================================= */

.contact-section{
  background:var(--light);
}

.contact-section .container{
  align-items:start;
}

.contact-details{
  display:grid;
  gap:20px;
  margin-top:35px;
}

.contact-details div{
  background:var(--white);
  padding:24px;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(10,35,66,.07);
}

.contact-details h3{
  font-family:'Manrope',sans-serif;
  color:var(--primary);
  margin-bottom:6px;
}

.contact-details p{
  color:var(--gray);
}

.contact-form{
  background:var(--white);
  padding:42px;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  margin-bottom:18px;
  padding:17px 18px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  color:var(--text);
}

.contact-form textarea{
  min-height:170px;
  resize:vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(31,122,140,.10);
}

.contact-form button{
  border:none;
  cursor:pointer;
}

/* =========================================================
   CTA
   ========================================================= */

.industrial-cta,
.cta{
  padding:120px 0;
  text-align:center;
}

.industrial-cta{
  background:var(--light);
}

.cta{
  color:var(--white);
  background:
    linear-gradient(rgba(10,35,66,.88),rgba(10,35,66,.88)),
    url("../images/projects-hero.jpg") center/cover;
}

.industrial-cta h2,
.cta h2{
  font-family:'Manrope',sans-serif;
  font-size:52px;
  line-height:1.1;
  margin-bottom:20px;
}

.industrial-cta h2{
  color:var(--primary);
}

.cta h2{
  color:var(--white);
}

.industrial-cta p,
.cta p{
  font-size:20px;
  margin-bottom:30px;
}

.industrial-cta p{
  color:var(--gray);
}

.cta p{
  color:rgba(255,255,255,.82);
}

/* =========================================================
   FOOTER
   ========================================================= */

footer{
  background:#071A30;
  color:var(--white);
  padding:75px 0 0;
}

footer .container{
  display:grid;
  grid-template-columns:1.4fr repeat(3,1fr);
  gap:45px;
}

footer h3,
footer h4{
  font-family:'Manrope',sans-serif;
  margin-bottom:16px;
}

footer p,
footer a{
  color:rgba(255,255,255,.72);
}

footer ul{
  display:grid;
  gap:10px;
}

footer a:hover{
  color:var(--accent-2);
}

.footer-bottom{
  margin-top:55px;
  padding:22px 5%;
  text-align:center;
  border-top:1px solid rgba(255,255,255,.10);
}

/* =========================================================
   REVEAL ANIMATIONS
   ========================================================= */

.division-card,
.project-card,
.project-detail-card,
.mission-card,
.industrial-card,
.process-step,
.process-home-step,
.counter-box,
.intro-box,
.contact-form{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .7s ease,transform .7s ease;
}

.division-card.show,
.project-card.show,
.project-detail-card.show,
.mission-card.show,
.industrial-card.show,
.process-step.show,
.process-home-step.show,
.counter-box.show,
.intro-box.show,
.contact-form.show{
  opacity:1;
  transform:translateY(0);
}
/*==================================================
FOOTER
==================================================*/

.footer{
    background:#071c38;
    color:#ffffff;
    padding:70px 0 25px;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:60px;
}

.footer-brand{
    margin-top:-20px;
}

.footer-logo{
    width:260px;
    margin-bottom:20px;
}

.footer-tagline{
    color:#39d2ff;
    font-weight:700;
    font-size:18px;
    margin-bottom:15px;
}

.footer h3,
.footer h4{
    color:#ffffff;
    margin-bottom:20px;
}

.footer h5{
    color:#39d2ff;
    margin-top:18px;
    margin-bottom:6px;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.footer p{
    color:#b8c7d9;
    line-height:1.8;
}

.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links li{
    margin-bottom:12px;
}

.footer-links a{
    color:#b8c7d9;
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover{
    color:#39d2ff;
}

.footer a{
    color:#b8c7d9;
    text-decoration:none;
    transition:.3s;
}

.footer a:hover{
    color:#39d2ff;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);
    margin-top:50px;
    padding-top:25px;
    text-align:center;
}

.footer-bottom p{
    margin:0;
    color:#8ea4bd;
    font-size:14px;
    white-space:nowrap;
}

@media (max-width:991px){

    .footer-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .footer-brand{
        margin-top:0;
    }

    .footer-logo{
        width:200px;
    }

}