/*==================================================
  BRIMA Corporate Website
  style.css - Part 1
  PT Berkah Raya Indonesia Maju
==================================================*/

/*==============================
  GOOGLE FONT
==============================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');


/*==============================
  CSS VARIABLES
==============================*/

:root{

    --primary:#D62828;
    --primary-dark:#B71C1C;

    --secondary:#003049;

    --accent:#F77F00;

    --white:#ffffff;

    --light:#F8F9FA;

    --gray:#6C757D;

    --border:#E5E7EB;

    --dark:#212529;

    --success:#16A34A;

    --danger:#DC2626;

    --shadow-sm:0 5px 15px rgba(0,0,0,.08);

    --shadow-md:0 12px 35px rgba(0,0,0,.12);

    --shadow-lg:0 20px 60px rgba(0,0,0,.18);

    --radius-sm:8px;

    --radius:15px;

    --radius-lg:25px;

    --transition:.35s ease;

    --container:1320px;

}


/*==============================
 RESET
==============================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;

    color:var(--dark);

    background:var(--white);

    line-height:1.7;

    overflow-x:hidden;

}


/*==============================
 TYPOGRAPHY
==============================*/

h1,
h2,
h3,
h4,
h5,
h6{

    font-weight:700;

    line-height:1.2;

    color:var(--secondary);

}

h1{

    font-size:56px;

}

h2{

    font-size:42px;

}

h3{

    font-size:28px;

}

h4{

    font-size:22px;

}

h5{

    font-size:18px;

}

p{

    color:var(--gray);

    margin-bottom:15px;

}

a{

    color:inherit;

    text-decoration:none;

    transition:var(--transition);

}

ul{

    list-style:none;

}

img{

    display:block;

    width:100%;

    height:auto;

}


/*==============================
 CONTAINER
==============================*/

.container{

    width:100%;

    max-width:var(--container);

    margin:auto;

    padding:0 20px;

}


/*==============================
 SECTION
==============================*/

.section{

    padding:100px 0;

}

.section-header{

    text-align:center;

    max-width:800px;

    margin:0 auto 70px;

}

.section-subtitle{

    display:inline-block;

    color:var(--primary);

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:2px;

    margin-bottom:15px;

}

.section-title{

    margin-bottom:20px;

}

.section-description{

    font-size:17px;

}


/*==============================
 BUTTON
==============================*/

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 34px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--accent)
    );

    color:#fff;

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

    box-shadow:var(--shadow-sm);

}

.btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow-lg);

}

.btn-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 34px;

    border:2px solid var(--primary);

    color:var(--primary);

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

}

.btn-outline:hover{

    background:var(--primary);

    color:#fff;

}


/*==============================
 GRID
==============================*/

.grid-2{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:50px;

}

.grid-3{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.grid-4{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}


/*==============================
 CARD
==============================*/

.card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}


/*==============================
 BADGE
==============================*/

.badge{

    display:inline-block;

    background:rgba(214,40,40,.08);

    color:var(--primary);

    padding:8px 18px;

    border-radius:50px;

    font-size:14px;

    font-weight:600;

}


/*==============================
 IMAGE
==============================*/

.img-radius{

    border-radius:20px;

    overflow:hidden;

}


/*==============================
 SPACING
==============================*/

.mt-20{margin-top:20px;}
.mt-30{margin-top:30px;}
.mt-40{margin-top:40px;}
.mt-50{margin-top:50px;}

.mb-20{margin-bottom:20px;}
.mb-30{margin-bottom:30px;}
.mb-40{margin-bottom:40px;}
.mb-50{margin-bottom:50px;}


/*==============================
 TEXT ALIGN
==============================*/

.text-center{

    text-align:center;

}

.text-left{

    text-align:left;

}

.text-right{

    text-align:right;

}


/*==============================
 SCROLLBAR
==============================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#ECECEC;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:30px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--primary-dark);

}


/*==============================
 TEXT SELECTION
==============================*/

::selection{

    background:var(--primary);

    color:#fff;

}


/*==============================
 HR
==============================*/

hr{

    border:none;

    height:1px;

    background:var(--border);

    margin:40px 0;

}
/*==================================================
  BRIMA Corporate Website
  style.css - Part 2
  Top Bar, Header, Navigation & Hero
==================================================*/


/*==============================
 TOP BAR
==============================*/

.topbar{

    background:var(--secondary);

    color:var(--white);

    font-size:14px;

    padding:10px 0;

}

.topbar .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

}

.topbar-left,
.topbar-right{

    display:flex;

    align-items:center;

    gap:20px;

}

.topbar-left span{

    display:flex;

    align-items:center;

    gap:8px;

}

.topbar-right a{

    width:36px;

    height:36px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    color:var(--white);

    transition:var(--transition);

}

.topbar-right a:hover{

    background:rgba(255,255,255,.15);

    transform:translateY(-3px);

}


/*==============================
 HEADER
==============================*/

header{

    position:sticky;

    top:0;

    left:0;

    width:100%;

    z-index:999;

    background:var(--white);

    box-shadow:0 2px 15px rgba(0,0,0,.06);

}

header .container{

    height:88px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}


/*==============================
 LOGO
==============================*/

.logo{

    display:flex;

    align-items:center;

}

.logo img{

    width:170px;

    max-width:100%;

}


/*==============================
 NAVIGATION
==============================*/

nav ul{

    display:flex;

    align-items:center;

    gap:35px;

}

nav ul li{

    position:relative;

}

nav ul li a{

    font-size:15px;

    font-weight:600;

    color:var(--secondary);

    position:relative;

    padding:10px 0;

}

nav ul li a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-4px;

    width:0;

    height:3px;

    border-radius:20px;

    background:var(--primary);

    transition:var(--transition);

}

nav ul li a:hover{

    color:var(--primary);

}

nav ul li a:hover::after{

    width:100%;

}


/*==============================
 ACTIVE MENU
==============================*/

nav ul li.active a{

    color:var(--primary);

}

nav ul li.active a::after{

    width:100%;

}


/*==============================
 HEADER BUTTON
==============================*/

header .btn-primary{

    padding:13px 28px;

    font-size:15px;

}


/*==============================
 HERO
==============================*/

.hero{

    position:relative;

    overflow:hidden;

    padding:120px 0 100px;

    background:

    linear-gradient(

    135deg,

    #ffffff,

    #f8fafc

    );

}


/*==============================
 HERO BACKGROUND
==============================*/

.hero::before{

    content:"";

    position:absolute;

    top:-250px;

    right:-180px;

    width:520px;

    height:520px;

    border-radius:50%;

    background:rgba(214,40,40,.05);

}

.hero::after{

    content:"";

    position:absolute;

    bottom:-220px;

    left:-180px;

    width:420px;

    height:420px;

    border-radius:50%;

    background:rgba(247,127,0,.08);

}


/*==============================
 HERO GRID
==============================*/

.hero-grid{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:60px;

    align-items:center;

}


/*==============================
 HERO CONTENT
==============================*/

.hero-content{

    max-width:650px;

}

.hero-content .subtitle{

    display:inline-block;

    padding:10px 18px;

    background:rgba(214,40,40,.08);

    color:var(--primary);

    border-radius:50px;

    font-weight:600;

    margin-bottom:25px;

}

.hero-content h1{

    margin-bottom:20px;

    color:var(--secondary);

}

.hero-content h2{

    font-size:24px;

    font-weight:600;

    color:var(--primary);

    margin-bottom:25px;

}

.hero-content p{

    font-size:18px;

    line-height:1.8;

    margin-bottom:35px;

}


/*==============================
 HERO BUTTON
==============================*/

.hero-button{

    display:flex;

    flex-wrap:wrap;

    gap:20px;

    margin-bottom:55px;

}


/*==============================
 HERO COUNTER
==============================*/

.hero-counter{

    display:flex;

    gap:25px;

    flex-wrap:wrap;

}

.hero-counter div{

    min-width:140px;

    padding:22px;

    background:var(--white);

    border-radius:18px;

    box-shadow:var(--shadow-sm);

    text-align:center;

    transition:var(--transition);

}

.hero-counter div:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

.hero-counter h3{

    color:var(--primary);

    font-size:34px;

    margin-bottom:8px;

}

.hero-counter p{

    margin:0;

    font-size:15px;

    color:var(--gray);

}


/*==============================
 HERO IMAGE
==============================*/

.hero-image{

    position:relative;

    text-align:center;

}

.hero-image img{

    max-width:100%;

    animation:heroFloat 5s ease-in-out infinite;

    filter:drop-shadow(0 25px 45px rgba(0,0,0,.15));

}


/*==============================
 HERO FLOAT ANIMATION
==============================*/

@keyframes heroFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-18px);

    }

    100%{

        transform:translateY(0);

    }

}


/*==============================
 STICKY EFFECT
==============================*/

header.scrolled{

    height:auto;

    background:rgba(255,255,255,.96);

    backdrop-filter:blur(12px);

    box-shadow:0 8px 30px rgba(0,0,0,.08);

}


/*==============================
 MOBILE MENU BUTTON
==============================*/

.menu-toggle{

    display:none;

    width:48px;

    height:48px;

    border:none;

    background:transparent;

    cursor:pointer;

    font-size:24px;

    color:var(--secondary);

}


/*==============================
 DECORATIVE SHAPES
==============================*/

.circle-shape{

    position:absolute;

    border-radius:50%;

    background:rgba(214,40,40,.05);

    z-index:-1;

}

.square-shape{

    position:absolute;

    border-radius:24px;

    background:rgba(247,127,0,.08);

    transform:rotate(18deg);

    z-index:-1;

}


/*==============================
 SMOOTH HOVER
==============================*/

a,
button,
img{

    transition:all .35s ease;

}
/*==================================================
  BRIMA Corporate Website
  style.css - Part 3
  About, Vision, Values & Statistics
==================================================*/


/*==============================
 ABOUT SECTION
==============================*/

.about{

    position:relative;

    background:var(--white);

}

.about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.about-image{

    position:relative;

}

.about-image img{

    width:100%;

    border-radius:24px;

    box-shadow:var(--shadow-lg);

}

.about-content h3{

    font-size:34px;

    color:var(--secondary);

    margin-bottom:20px;

}

.about-content p{

    font-size:17px;

    margin-bottom:30px;

    color:var(--gray);

}


/*==============================
 ABOUT LIST
==============================*/

.about-list{

    display:grid;

    grid-template-columns:1fr;

    gap:18px;

    margin-bottom:35px;

}

.about-item{

    display:flex;

    align-items:center;

    gap:15px;

    padding:16px 18px;

    background:var(--light);

    border-radius:12px;

    transition:var(--transition);

}

.about-item:hover{

    background:#ffffff;

    transform:translateX(8px);

    box-shadow:var(--shadow-sm);

}

.about-item i{

    color:var(--success);

    font-size:20px;

}

.about-item span{

    font-weight:500;

    color:var(--secondary);

}


/*==============================
 VISION & MISSION
==============================*/

.vision{

    background:#f8fafc;

}

.vision-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

}

.vision-card{

    background:#fff;

    padding:45px;

    border-radius:24px;

    text-align:left;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

    border-top:5px solid transparent;

}

.vision-card:hover{

    transform:translateY(-10px);

    border-top-color:var(--primary);

    box-shadow:var(--shadow-lg);

}

.vision-icon{

    width:80px;

    height:80px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--accent)
    );

    color:#fff;

    font-size:30px;

    margin-bottom:25px;

}

.vision-card h3{

    margin-bottom:18px;

}

.vision-card ul{

    margin-top:20px;

    padding-left:20px;

}

.vision-card ul li{

    list-style:disc;

    margin-bottom:12px;

    color:var(--gray);

}


/*==============================
 CORE VALUES
==============================*/

.values{

    background:var(--white);

}

.value-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.value-card{

    background:#fff;

    padding:35px;

    border-radius:20px;

    text-align:center;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.value-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

}

.value-card i{

    width:80px;

    height:80px;

    margin:auto;

    margin-bottom:25px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(214,40,40,.08);

    color:var(--primary);

    font-size:32px;

}

.value-card h4{

    margin-bottom:15px;

    color:var(--secondary);

}

.value-card p{

    margin:0;

    font-size:15px;

}


/*==============================
 COMPANY STATISTICS
==============================*/

.statistics{

    background:linear-gradient(
        135deg,
        var(--secondary),
        #0b4a6f
    );

    color:#fff;

}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.stats-box{

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(10px);

    padding:40px 25px;

    border-radius:20px;

    text-align:center;

    transition:var(--transition);

    border:1px solid rgba(255,255,255,.08);

}

.stats-box:hover{

    transform:translateY(-10px);

    background:rgba(255,255,255,.15);

}

.stats-box h2{

    color:#fff;

    font-size:48px;

    margin-bottom:12px;

}

.stats-box p{

    color:rgba(255,255,255,.85);

    margin:0;

    font-size:16px;

    letter-spacing:.5px;

}


/*==============================
 SECTION DECORATION
==============================*/

.about::before,
.values::before{

    content:"";

    position:absolute;

    width:140px;

    height:140px;

    border-radius:50%;

    background:rgba(214,40,40,.04);

    top:40px;

    right:40px;

}

.about::after{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    border-radius:50%;

    background:rgba(247,127,0,.05);

    left:-120px;

    bottom:-80px;

}


/*==============================
 IMAGE HOVER
==============================*/

.about-image{

    overflow:hidden;

    border-radius:24px;

}

.about-image img{

    transition:transform .6s ease;

}

.about-image:hover img{

    transform:scale(1.05);

}
/*==================================================
  BRIMA Corporate Website
  style.css - Part 4
  Business Units, Services & Featured Products
==================================================*/


/*==============================
 BUSINESS UNITS
==============================*/

.business-units{

    background:var(--light);

}

.business-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

}

.business-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

    position:relative;

}

.business-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

}

.business-card img{

    width:100%;

    height:240px;

    object-fit:cover;

    transition:transform .5s ease;

}

.business-card:hover img{

    transform:scale(1.08);

}

.business-content{

    padding:30px;

}

.business-content small{

    display:block;

    margin-bottom:15px;

    color:var(--accent);

    font-weight:600;

}

.business-content h3{

    margin-bottom:15px;

    color:var(--secondary);

}

.business-content p{

    margin-bottom:25px;

    min-height:110px;

}

.business-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--primary);

    font-weight:600;

}

.business-btn:hover{

    gap:16px;

    color:var(--accent);

}


/*==============================
 BUSINESS ICON
==============================*/

.business-icon{

    width:70px;

    height:70px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--accent)
    );

    color:#fff;

    font-size:28px;

    margin-bottom:20px;

}


/*==============================
 FEATURED CARD
==============================*/

.business-card.featured{

    border:3px solid var(--primary);

    position:relative;

}

.business-card.featured::before{

    content:"Featured";

    position:absolute;

    top:20px;

    right:20px;

    background:var(--primary);

    color:#fff;

    padding:8px 16px;

    border-radius:30px;

    font-size:13px;

    font-weight:600;

    z-index:10;

}


/*==============================
 SERVICES
==============================*/

.services{

    background:#fff;

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

}

.service-box{

    background:var(--white);

    padding:40px 25px;

    border-radius:20px;

    text-align:center;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

    border-top:5px solid transparent;

}

.service-box:hover{

    transform:translateY(-10px);

    border-top-color:var(--primary);

    box-shadow:var(--shadow-lg);

}

.service-box i{

    font-size:42px;

    color:var(--primary);

    margin-bottom:20px;

}

.service-box h4{

    color:var(--secondary);

}


/*==============================
 FEATURED PRODUCTS
==============================*/

.featured-products{

    background:var(--light);

}

.product-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:35px;

}

.product-card{

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.product-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

}

.product-card img{

    width:100%;

    height:230px;

    object-fit:cover;

    transition:transform .5s;

}

.product-card:hover img{

    transform:scale(1.06);

}

.product-content{

    padding:28px;

}

.product-content h3{

    margin-bottom:15px;

}

.product-content p{

    margin-bottom:20px;

}

.product-content a{

    display:inline-flex;

    align-items:center;

    color:var(--primary);

    font-weight:600;

    transition:var(--transition);

}

.product-content a::after{

    content:"→";

    margin-left:8px;

    transition:margin .3s ease;

}

.product-content a:hover{

    color:var(--accent);

}

.product-content a:hover::after{

    margin-left:14px;

}


/*==============================
 IMAGE OVERLAY
==============================*/

.business-card,
.product-card{

    position:relative;

}

.business-card::after,
.product-card::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.08),
        transparent 45%
    );

    opacity:0;

    transition:var(--transition);

    pointer-events:none;

}

.business-card:hover::after,
.product-card:hover::after{

    opacity:1;

}


/*==============================
 SECTION SPACING
==============================*/

.business-units .section-header,
.services .section-header,
.featured-products .section-header{

    margin-bottom:60px;

}


/*==============================
 HOVER EFFECT
==============================*/

.business-card:hover .business-icon{

    transform:rotate(8deg) scale(1.08);

}

.service-box:hover i{

    transform:scale(1.15);

}

.product-card:hover h3{

    color:var(--primary);

}

.business-icon,
.service-box i{

    transition:var(--transition);

}
/*==================================================
  BRIMA Corporate Website
  style.css - Part 5
  Why Choose Us, Process, Portfolio,
  Clients & Testimonials
==================================================*/


/*==============================
 WHY CHOOSE US
==============================*/

.why-us{

    background:var(--white);

}

.why-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

}

.why-card{

    background:#fff;

    padding:35px;

    border-radius:22px;

    text-align:center;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

    border-bottom:4px solid transparent;

}

.why-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

    border-bottom-color:var(--primary);

}

.why-card i{

    width:80px;

    height:80px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0 auto 25px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--accent)
    );

    color:#fff;

    font-size:34px;

}

.why-card h3{

    margin-bottom:15px;

}

.why-card p{

    margin:0;

}


/*==============================
 BUSINESS PROCESS
==============================*/

.process{

    background:var(--light);

}

.process-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.process-item{

    background:#fff;

    padding:35px 25px;

    border-radius:22px;

    text-align:center;

    position:relative;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.process-item:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.process-item span{

    width:65px;

    height:65px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0 auto 25px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    font-size:24px;

    font-weight:700;

}

.process-item h3{

    margin-bottom:15px;

}

.process-item p{

    margin:0;

}


/*==============================
 PORTFOLIO
==============================*/

.portfolio{

    background:#fff;

}

.portfolio-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:25px;

}

.portfolio-item{

    overflow:hidden;

    border-radius:20px;

    position:relative;

    box-shadow:var(--shadow-sm);

}

.portfolio-item img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:transform .5s ease;

}

.portfolio-item:hover img{

    transform:scale(1.08);

}

.portfolio-item::before{

    content:"View Project";

    position:absolute;

    inset:0;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(0,48,73,.70);

    color:#fff;

    font-size:18px;

    font-weight:600;

    opacity:0;

    transition:var(--transition);

    z-index:2;

}

.portfolio-item:hover::before{

    opacity:1;

}


/*==============================
 CLIENTS
==============================*/

.clients{

    background:var(--light);

}

.client-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));

    gap:30px;

    align-items:center;

}

.client-grid img{

    max-width:150px;

    margin:auto;

    opacity:.70;

    transition:var(--transition);

    filter:grayscale(100%);

}

.client-grid img:hover{

    opacity:1;

    filter:none;

    transform:scale(1.08);

}


/*==============================
 TESTIMONIAL
==============================*/

.testimonial{

    background:#fff;

}

.testimonial-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(380px,1fr));

    gap:35px;

}

.testimonial-card{

    background:var(--light);

    padding:40px;

    border-radius:22px;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

    position:relative;

}

.testimonial-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.testimonial-card::before{

    content:"❝";

    position:absolute;

    top:20px;

    right:30px;

    font-size:60px;

    color:rgba(214,40,40,.15);

}

.testimonial-card p{

    font-size:17px;

    font-style:italic;

    margin-bottom:25px;

}

.testimonial-card h4{

    color:var(--secondary);

    margin-bottom:5px;

}

.testimonial-card small{

    color:var(--gray);

    font-size:14px;

}


/*==============================
 COMMON HOVER EFFECT
==============================*/

.process-item,
.why-card,
.portfolio-item,
.testimonial-card{

    transition:all .35s ease;

}


/*==============================
 SECTION DIVIDER
==============================*/

.why-us,
.process,
.portfolio,
.clients,
.testimonial{

    position:relative;

}

.why-us::after,
.process::after{

    content:"";

    position:absolute;

    width:120px;

    height:120px;

    border-radius:50%;

    background:rgba(214,40,40,.04);

    right:-40px;

    bottom:-40px;

}
/*==================================================
  BRIMA Corporate Website
  style.css - Part 6
  FAQ, CTA, Contact & Footer
==================================================*/


/*==============================
 FAQ
==============================*/

.faq{

    background:var(--light);

}

.faq-list{

    max-width:900px;

    margin:auto;

}

.faq-item{

    background:#fff;

    border-radius:18px;

    padding:28px 30px;

    margin-bottom:20px;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.faq-item:hover{

    transform:translateY(-5px);

    box-shadow:var(--shadow-lg);

}

.faq-item h3{

    color:var(--secondary);

    margin-bottom:12px;

    font-size:22px;

}

.faq-item p{

    margin:0;

    color:var(--gray);

}


/*==============================
 CALL TO ACTION
==============================*/

.cta{

    padding:100px 0;

    text-align:center;

    background:linear-gradient(
        135deg,
        var(--secondary),
        var(--primary)
    );

    color:#fff;

}

.cta h2{

    color:#fff;

    font-size:44px;

    margin-bottom:20px;

}

.cta p{

    color:rgba(255,255,255,.90);

    font-size:18px;

    max-width:760px;

    margin:0 auto 40px;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.cta .btn-primary{

    background:#fff;

    color:var(--primary);

}

.cta .btn-primary:hover{

    color:#fff;

}

.cta .btn-outline{

    border-color:#fff;

    color:#fff;

}

.cta .btn-outline:hover{

    background:#fff;

    color:var(--secondary);

}


/*==============================
 CONTACT
==============================*/

.contact{

    background:#fff;

}

.contact-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

    align-items:start;

}

.contact-grid h3{

    margin-bottom:20px;

}

.contact-grid p{

    margin-bottom:15px;

    display:flex;

    align-items:center;

    gap:10px;

}

.contact iframe{

    width:100%;

    border:none;

    border-radius:20px;

    box-shadow:var(--shadow-md);

}


/*==============================
 FOOTER
==============================*/

footer{

    background:var(--secondary);

    color:#fff;

    padding-top:80px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:50px;

    padding-bottom:50px;

}

.footer-logo{

    width:180px;

    margin-bottom:25px;

}

footer p{

    color:rgba(255,255,255,.80);

}

footer h4{

    color:#fff;

    margin-bottom:20px;

}

footer ul li{

    margin-bottom:12px;

}

footer ul li a{

    color:rgba(255,255,255,.80);

    transition:var(--transition);

}

footer ul li a:hover{

    color:#fff;

    padding-left:8px;

}


/*==============================
 SOCIAL ICONS
==============================*/

.social-icons{

    display:flex;

    gap:15px;

    margin-top:10px;

}

.social-icons a{

    width:44px;

    height:44px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.10);

    color:#fff;

    border-radius:50%;

    transition:var(--transition);

}

.social-icons a:hover{

    background:var(--primary);

    transform:translateY(-5px);

}


/*==============================
 FOOTER BOTTOM
==============================*/

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.10);

    text-align:center;

    padding:25px 15px;

}

.footer-bottom p{

    margin:0;

    font-size:15px;

    color:rgba(255,255,255,.75);

}


/*==============================
 FLOATING WHATSAPP
==============================*/

.whatsapp-float{

    position:fixed;

    right:25px;

    bottom:25px;

    width:60px;

    height:60px;

    border-radius:50%;

    background:#25D366;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:28px;

    box-shadow:var(--shadow-lg);

    z-index:999;

    transition:var(--transition);

}

.whatsapp-float:hover{

    transform:scale(1.1);

}


/*==============================
 BACK TO TOP
==============================*/

.back-to-top{

    position:fixed;

    right:25px;

    bottom:100px;

    width:52px;

    height:52px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:var(--shadow-md);

    opacity:0;

    visibility:hidden;

    transition:var(--transition);

    z-index:998;

}

.back-to-top.show{

    opacity:1;

    visibility:visible;

}

.back-to-top:hover{

    background:var(--accent);

    transform:translateY(-5px);

}


/*==============================
 FORM ELEMENTS
==============================*/

input,
textarea,
select{

    width:100%;

    padding:14px 16px;

    border:1px solid var(--border);

    border-radius:12px;

    font-family:'Poppins',sans-serif;

    font-size:15px;

    outline:none;

    transition:var(--transition);

}

input:focus,
textarea:focus,
select:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(214,40,40,.12);

}

textarea{

    resize:vertical;

    min-height:140px;

}


/*==============================
 UTILITIES
==============================*/

.bg-light{

    background:var(--light);

}

.bg-primary{

    background:var(--primary);

    color:#fff;

}

.bg-secondary{

    background:var(--secondary);

    color:#fff;

}

.rounded{

    border-radius:20px;

}

.shadow{

    box-shadow:var(--shadow-md);

}

.d-flex{

    display:flex;

}

.align-center{

    align-items:center;

}

.justify-between{

    justify-content:space-between;

}

.w-100{

    width:100%;

}

.text-white{

    color:#fff;

}


/*==============================
 END OF PART 6
==============================*/
