/*=====================================================

FOTIA SOLUTIONS SDN. BHD.
Website Version 2.0

Developer :
Project : Corporate Website

======================================================*/


/*=====================================================

GOOGLE FONT

======================================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');


/*=====================================================

ROOT

======================================================*/

:root{

--primary:#C8102E;

--secondary:#161616;

--dark:#0f0f0f;

--white:#ffffff;

--light:#f8f8f8;

--grey:#777777;

--border:red;

--shadow:0 20px 60px rgba(0,0,0,.10);

--radius:18px;

--transition:.35s ease;

}


/*=====================================================

RESET

======================================================*/

*{

margin:0;

padding:0;

box-sizing:border-box;

}


html{

scroll-behavior:smooth;

}


body{

font-family:'Poppins',sans-serif;

background:#ffffff;

color:#222;

overflow-x:hidden;

line-height:1.7;

}


/*=====================================================

GENERAL

======================================================*/

section{

padding:100px 0;

}


.container{

max-width:1200px;

margin:auto;

padding:0 20px;

}


img{

/* max-width:100%; */

display:block;

}


a{

text-decoration:none;

}


ul{

list-style:none;

}


h1,h2,h3,h4,h5{

font-weight:700;
color: red;
}


/*=====================================================

BUTTON

======================================================*/

.btn-red{

display:inline-block;

background:var(--primary);

color:white;

padding:16px 38px;

border-radius:50px;

font-weight:600;

transition:var(--transition);

box-shadow:

0 12px 35px rgba(200,16,46,.25);

}


.btn-red:hover{

background:#980019;

transform:translateY(-4px);

color:white;

}


/*=====================================================

NAVBAR

======================================================*/

.navbar-custom{

position:fixed;

top:0;

left:0;

width:100%;

z-index:999;

padding:22px 0;

transition:.4s;

background:grey;

backdrop-filter:blur(12px);

}


.nav-wrapper{

display:flex;

align-items:center;

justify-content:space-between;

}


.logo img{

height:58px;

}


.menu{

display:flex;

align-items:center;

gap:35px;

}


.menu a{

color:black;

font-size:15px;

font-weight:500;

transition:.3s;

position:relative;

}


.menu a:after{

content:'';

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:var(--primary);

transition:.3s;

}


.menu a:hover{

color:#ffffff;

}


.menu a:hover:after{

width:100%;

}


/*=====================================================

HERO

======================================================*/

.hero{

height:100vh;

display:flex;

align-items:center;

position:relative;

overflow:hidden;

background:

linear-gradient(

rgba(3, 3, 3, 0.82),

rgba(10, 10, 10, 0.85)

),

url("../images/hero-bg.jpg");

background-size:cover;

background-position:center;

}


.hero::before{

content:"";

position:absolute;

width:700px;

height:700px;

background:

radial-gradient(

circle,

rgba(200,16,46,.35),

transparent 70%

);

right:-150px;

top:-150px;

filter:blur(80px);

}


.hero-content{

position:relative;

z-index:2;

max-width:760px;

}


.hero-subtitle{

display:inline-block;

padding:10px 20px;

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

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

color:white;

border-radius:50px;

font-size:13px;

letter-spacing:3px;

margin-bottom:25px;

}


.hero h1{

font-size:72px;

font-weight:800;

line-height:1.1;

color:white;

margin-bottom:25px;

}


.hero p{

font-size:20px;

color:#dddddd;

max-width:650px;

margin-bottom:40px;

}


.hero-tag{

margin-top:60px;

color:#cccccc;

font-size:14px;

letter-spacing:4px;

opacity:.9;

}

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

.about{

background:radial-gradient(

circle,

rgba(200,16,46,.35),

transparent 70%

);;

}

.section-subtitle{

display:inline-block;

color:var(--primary);

font-size:13px;

letter-spacing:3px;

font-weight:600;

margin-bottom:15px;

}


.about h2{

font-size:42px;

margin-bottom:25px;

color:#111;

line-height:1.2;

}


.about p{

color:#555;

margin-bottom:18px;

}


/* Feature Box */

.about-feature{

margin-top:35px;

display:grid;

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

gap:15px;

}


.feature-box{

display:flex;

align-items:center;

gap:12px;

padding:14px 16px;

background:#f9f9f9;

border-radius:12px;

transition:var(--transition);

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

}


.feature-box i{

color:var(--primary);

font-size:18px;

}


.feature-box:hover{

transform:translateY(-3px);

box-shadow:var(--shadow);

}


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

.partners{

background:radial-gradient(

circle,

rgba(200,16,46,.35),

transparent 70%

);

color:white;

}


.partners h2{

color:white;

font-size:42px;

margin-bottom:15px;

}


.partners p{

color:#cccccc;

max-width:700px;

margin:auto;

}


.partner-group{

margin-top:60px;


}


.partner-group h4{

color:white;

margin-bottom:25px;

font-size:18px;

letter-spacing:1px;

}


/* Partner Grid */

.partner-grid{

display:grid;

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

gap:25px;

animation: flip 1.6s infinite;


}

/* Keep four partners on the first row and center the final three. */
@media(min-width:993px){

.partner-grid-centered-last-row{

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

}

.partner-grid-centered-last-row .partner-item{

grid-column:span 2;

}

.partner-grid-centered-last-row .partner-item:nth-child(5){

grid-column:2 / span 2;

}

}


.partner-item{

background:white;

padding:5px;

border-radius:15px;

display:flex;

align-items:center;

justify-content:center;

transition:var(--transition);

filter:grayscale(100%);
animation: flip 1.6s infinite;
background-color: #980019

}


.partner-item img{

max-width:700px;

}


.partner-item:hover{

transform:translateY(-5px);

filter:grayscale(0%);

box-shadow:0 20px 40px rgba(200,16,46,.25);


}


/*=====================================================
CONTACT SECTION
======================================================*/

.contact{

background:radial-gradient(

circle,

rgba(200,16,46,.35),

transparent 70%

);;

}


.contact h2{

font-size:42px;

margin-bottom:20px;

}


.contact p{

color:#555;

margin-bottom:25px;

}


/* Contact Info */

.contact-info{

margin-top:30px;

display:flex;

flex-direction:column;

gap:20px;

}


.info-box{

display:flex;

gap:15px;

align-items:flex-start;

padding:15px;

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

border-radius:12px;

transition:var(--transition);

}


.info-box i{

color:var(--primary);

font-size:18px;

margin-top:3px;

}


.info-box:hover{

transform:translateX(5px);

box-shadow:var(--shadow);

}


/* Form */

.contact-form{

background:radial-gradient(

circle,

rgba(200,16,46,.35),

transparent 70%

);;

padding:30px;

border-radius:18px;

box-shadow:var(--shadow);

}


.contact-form input,
.contact-form textarea{

width:100%;

padding:14px 16px;

margin-bottom:15px;

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

border-radius:12px;

outline:none;

transition:var(--transition);

font-family:'Poppins',sans-serif;

}


.contact-form input:focus,
.contact-form textarea:focus{

border-color:var(--primary);

}


/* Map */

.map-box{

margin-top:50px;

border-radius:18px;

overflow:hidden;

box-shadow:var(--shadow);

}


.map-box iframe{

width:100%;

height:350px;

border:0;

}


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

footer{

background:grey;

color:white;

padding:60px 0;

text-align:center;

}


footer img{

height:60px;

margin-bottom:20px;

}


footer h3{

margin-bottom:15px;

}


footer p{

color:#bbb;

max-width:600px;

margin:auto;

margin-bottom:20px;

}


.footer-social{

margin:20px 0;

display:flex;

justify-content:center;

gap:15px;

}


.footer-social a{

width:40px;

height:40px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:#222;

color:white;

transition:var(--transition);

}


.footer-social a:hover{

background:var(--primary);

transform:translateY(-3px);

}


/*=====================================================
RESPONSIVE (BASIC)
======================================================*/

@media(max-width:992px){

.hero h1{

font-size:48px;

}

.partner-grid{

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

}

.about-feature{

grid-template-columns:1fr;

}

}


@media(max-width:768px){

.menu{

display:none;

}

.hero h1{

font-size:38px;

}

.hero p{

font-size:16px;

}

section{

padding:70px 0;

}

}

/*=====================================================
HAMBURGER MENU
======================================================*/

.hamburger{

display:none;

background:none;

border:none;

color:white;

font-size:22px;

cursor:pointer;

}

/* Mobile */

@media(max-width:768px){

.menu{

display:none;

position:absolute;

top:80px;

right:20px;

background:rgba(0,0,0,0.9);

flex-direction:column;

padding:20px;

border-radius:12px;

width:200px;

}

.menu.show{

display:flex;

}

.hamburger{

display:block;

}

}

/*=====================================================
PARTICLES BACKGROUND
======================================================*/

.particles{

position:absolute;

width:100%;

height:100%;

top:0;

left:0;

overflow:hidden;

z-index:1;

}

.particles::before,
.particles::after{

content:"";

position:absolute;

width:200%;

height:200%;

background: radial-gradient(circle, rgba(200,16,46,0.15) 2px, transparent 3px);

background-size:50px 50px;

animation: moveParticles 20s linear infinite;

opacity:0.4;

}

@keyframes moveParticles{

0%{transform:translate(0,0);}

100%{transform:translate(-50px,-50px);}

}

/*=====================================================
DARK MODE
======================================================*/

body.dark{

background:#0f0f0f;

color:white;

}

body.dark .about{

background:#151515;

}

body.dark .contact-form{

background:#1a1a1a;

}

body.dark .feature-box{

background:#1a1a1a;

color:white;

}

/*=====================================================
WHATSAPP BUTTON
======================================================*/

.whatsapp{

position:fixed;

bottom:90px;

right:30px;

background:#25D366;

width:55px;

height:55px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

color:white;

font-size:26px;

z-index:999;

box-shadow:0 10px 25px rgba(0,0,0,0.2);

transition:0.3s;

}

.whatsapp:hover{

transform:scale(1.1);

}

/* Smooth scrolling enhancement */

html{

scroll-behavior:smooth;

}

/* Active menu highlight */

.menu a.active{

color:#C8102E;

}

.menu a.active::after{

width:100%;

}

/*=====================================================
SCROLL PROGRESS BAR
======================================================*/

.scroll-progress{

position:fixed;

top:0;

left:0;

height:4px;

width:0%;

background:#C8102E;

z-index:9999;

transition:width 0.1s ease;

}

/*=====================================================
LOADING SCREEN
======================================================*/

.loader{

position:fixed;

top:0;

left:0;

width:100%;

height:100vh;

background:grey;

display:flex;

align-items:center;

justify-content:center;

z-index:99999;

animation:fadeOut 2.5s forwards;

animation-delay:6s;

}

.loader-logo{

color:black;

font-size:40px;

font-weight:800;

letter-spacing:6px;

animation:pulse 1.5s infinite;

}

@keyframes pulse{

0%{transform:scale(1); opacity:1;}

50%{transform:scale(1.1); opacity:0.6;}

100%{transform:scale(1); opacity:1;}

}

@keyframes fadeOut{

to{

opacity:0;

visibility:hidden;

}

}

/*=====================================================
3D HOVER EFFECT
======================================================*/

.partner-item{

transform-style:preserve-3d;

transition:0.4s;

}

.partner-item:hover{

transform:perspective(800px) rotateX(5deg) rotateY(5deg) scale(1.05);

}

/* ==========================================================================
   Services Section
   ========================================================================== */
.service-card {
  background-color: var(--fotia-white);
  border-radius: 8px;
  padding: 2.5rem 2rem;
  height: 90%;
  transition: var(--transition-normal);
  border: 1px solid rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: hidden;
}

.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
}

.service-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 4px;
  background-color: var(--fotia-red);
  transition: width 0.3s ease;
  background: red;
}

.service-card:hover::after {
  width: 100%;
}

.service-icon {
  width: 60px;
  height: 60px;
  background-color: rgba(227, 24, 55, 0.1);
  color: var(--fotia-red);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  transition: var(--transition-normal);
}

.service-card:hover .service-icon {
  background-color: var(--fotia-red);
  color: var(--fotia-white);
  background: red;
}

 .hero-pattern-section {
    position: relative;
    background-color: var(--fotia-red);
    color: var(--fotia-white);
    overflow: hidden;
    background:radial-gradient(

circle,

rgba(200,16,46,.35),

transparent 70%

);,
