/* ==================================================
   IKUSASA EDUCATION AND TRAINING
   Premium Corporate Website
==================================================*/

:root{

    --color-primary:#3B4E66;
    --color-secondary:#33373B;
    --color-accent:#C7A27C;

    --color-bg-main:#FFFFFF;
    --color-bg-alt:#F8F6F0;
    --color-text-dark:#2B2E31;
    --color-text-muted:#6C757D;
    --color-border:#E2DDD5;

    --color-primary-hover:#2E3E52;
    --color-accent-hover:#B5906A;

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

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

    color:var(--color-text-dark);

    background:var(--color-bg-main);

    line-height:1.7;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

.container{

    width:90%;

    max-width:1200px;

    margin:auto;

}

/* ===========================
   NAVIGATION
===========================*/

header{

    width:100%;

    position:fixed;

    top:0;

    left:0;

    z-index:999;

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

    backdrop-filter:blur(10px);

    box-shadow:0 5px 20px rgba(0,0,0,.05);

}

.navbar{

    max-width:1300px;

    margin:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 40px;

}

.logo img{

    height:80px;

}

.nav-links{

    display:flex;

    gap:35px;

}

.nav-links a{

    color:var(--color-text-dark);

    font-size:15px;

    font-weight:600;

    transition:.3s;

}

.nav-links a:hover{

    color:var(--color-accent);

}

.btn-nav{

    background:var(--color-primary);

    color:#fff;

    padding:14px 28px;

    border-radius:40px;

    transition:.3s;

    font-weight:600;

}

.btn-nav:hover{

    background:var(--color-primary-hover);

}

.nav-toggle{

    display:none;

    flex-direction:column;

    justify-content:space-between;

    width:26px;

    height:19px;

    background:none;

    border:none;

    padding:0;

    cursor:pointer;

    z-index:1001;

}

.nav-toggle span{

    display:block;

    width:100%;

    height:3px;

    background:var(--color-secondary);

    border-radius:3px;

    transition:.3s;

}

.nav-toggle.active span:nth-child(1){

    transform:translateY(8px) rotate(45deg);

}

.nav-toggle.active span:nth-child(2){

    opacity:0;

}

.nav-toggle.active span:nth-child(3){

    transform:translateY(-8px) rotate(-45deg);

}

.nav-backdrop{

    display:none;

}

body.no-scroll{

    overflow:hidden;

}

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

.hero{

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    min-height:100vh;

    padding:120px 8%;

    gap:80px;

}

.hero-tag{

    display:inline-block;

    background:var(--color-bg-main);

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

    padding:10px 18px;

    border-radius:40px;

    font-size:14px;

    color:var(--color-primary);

    margin-bottom:30px;

    font-weight:700;

}

.hero h1{

    font-size:62px;

    line-height:1.1;

    margin-bottom:30px;

    color:var(--color-text-dark);

}

.hero p{

    font-size:20px;

    color:var(--color-text-muted);

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    gap:20px;

}

.btn-primary{

    background:var(--color-primary);

    color:#fff;

    padding:18px 35px;

    border-radius:50px;

    font-weight:600;

    transition:.3s;

}

.btn-primary:hover{

    background:var(--color-primary-hover);

}

.btn-secondary{

    border:2px solid var(--color-secondary);

    color:var(--color-secondary);

    padding:18px 35px;

    border-radius:50px;

    transition:.3s;

}

.btn-secondary:hover{

    background:var(--color-secondary);

    color:#fff;

}

.hero-image img{

    border-radius:20px;

    box-shadow:0 25px 60px rgba(0,0,0,.15);

}

/* ===========================
 HERO WITH BACKGROUND IMAGE
===========================*/

.hero-bg{

    position:relative;

    display:flex;

    align-items:center;

    background-size:cover;

    background-position:center;

}

.hero-bg::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    background:linear-gradient(120deg, rgba(51,55,59,.88), rgba(59,78,102,.6));

}

.hero-bg .hero-content{

    position:relative;

    z-index:2;

    max-width:700px;

}

.hero-slides{

    position:absolute;

    inset:0;

    z-index:0;

    overflow:hidden;

}

.hero-slide{

    position:absolute;

    inset:0;

    background-size:cover;

    background-position:center;

    opacity:0;

    animation:heroSlideFade 14s infinite;

}

.hero-slide:nth-child(1){

    animation-delay:0s;

}

.hero-slide:nth-child(2){

    animation-delay:7s;

}

@keyframes heroSlideFade{

    0%{ opacity:0; }

    5%{ opacity:1; }

    45%{ opacity:1; }

    50%{ opacity:0; }

    100%{ opacity:0; }

}

.hero-bg .hero-tag{

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

    border-color:rgba(255,255,255,.4);

    color:#fff;

}

.hero-bg h1{

    color:#fff;

}

.hero-bg p{

    color:rgba(255,255,255,.85);

}

.hero-bg .btn-secondary{

    border-color:#fff;

    color:#fff;

}

.hero-bg .btn-secondary:hover{

    background:#fff;

    color:var(--color-secondary);

}

/* ===========================
 TRUST
===========================*/

.trust{

    display:grid;

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

    gap:30px;

    padding:70px 8%;

    background:var(--color-bg-main);

}

.trust-box{

    background:var(--color-bg-main);

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

    text-align:center;

    padding:40px;

    border-radius:15px;

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

    transition:.3s;

}

.trust-box:hover{

    transform:translateY(-8px);

}

.trust-box h3{

    color:var(--color-primary);

    font-size:20px;

}

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

.about{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

    padding:120px 8%;

}

.about-image img{

    border-radius:20px;

}

.about h5{

    color:var(--color-primary);

    letter-spacing:2px;

    margin-bottom:15px;

}

.about h2{

    font-size:46px;

    margin-bottom:25px;

    color:var(--color-text-dark);

}

.about p{

    color:var(--color-text-muted);

    margin-bottom:20px;

}

.about.single{

    grid-template-columns:1fr;

    justify-items:center;

}

.about.single .about-text{

    max-width:750px;

    text-align:left;

}

/* ===========================
 ABOUT WITH BACKGROUND IMAGE
===========================*/

.about-bg{

    position:relative;

    display:flex;

    align-items:center;

    background-size:cover;

    background-position:center;

    padding:120px 8%;

}

.about-bg::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(120deg, rgba(51,55,59,.88), rgba(59,78,102,.6));

}

.about-bg .about-text{

    position:relative;

    z-index:1;

    max-width:650px;

}

.about-bg .about-text h5{

    color:var(--color-accent);

}

.about-bg .about-text h2{

    color:#fff;

}

.about-bg .about-text p{

    color:rgba(255,255,255,.85);

}

/* ===========================
 SERVICES
===========================*/

.services{

    padding:120px 8%;

    background:var(--color-bg-main);

}

.section-title{

    text-align:center;

    margin-bottom:70px;

}

.section-title h5{

    color:var(--color-primary);

    letter-spacing:2px;

}

.section-title h2{

    font-size:48px;

    margin-top:15px;

}

.service-grid{

    display:grid;

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

    gap:30px;

}

.service-card{

    background:var(--color-bg-main);

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

    padding:45px;

    border-radius:20px;

    box-shadow:0 15px 30px rgba(0,0,0,.05);

    transition:.3s;

}

.service-card:hover{

    transform:translateY(-10px);

    border-color:var(--color-accent);

}

.service-card h3{

    margin-bottom:20px;

    color:var(--color-text-dark);

}

.service-card p{

    color:var(--color-text-muted);

}

/* ===========================
 STATS
===========================*/

.stats{

    display:grid;

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

    text-align:center;

    background:var(--color-bg-main);

    color:var(--color-text-dark);

    padding:90px 8%;

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

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

}

.stat h2{

    font-size:60px;

    margin-bottom:10px;

    color:var(--color-primary);

}

.stat p{

    font-size:18px;

    color:var(--color-text-muted);

}

/* ===========================
CALL TO ACTION
===========================*/

.cta{

    padding:120px 8%;

    text-align:center;

    background:var(--color-bg-main);

}

.cta h2{

    font-size:52px;

    color:var(--color-text-dark);

    margin-bottom:25px;

}

.cta p{

    max-width:750px;

    margin:0 auto 40px;

    color:var(--color-text-muted);

    font-size:19px;

    line-height:1.8;

}

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

footer{

    background:var(--color-secondary);

    color:#fff;

    padding-top:80px;

}

.footer-container{

    width:90%;

    max-width:1200px;

    margin:auto;

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    gap:80px;

    padding-bottom:60px;

}

.footer-logo{

    width:220px;

    margin-bottom:25px;

}

.footer-container p{

    color:#bbb;

    line-height:1.8;

}

.footer-container h3{

    margin-bottom:25px;

    font-size:22px;

}

.footer-container a{

    display:block;

    margin-bottom:15px;

    color:#bbb;

    transition:.3s;

}

.footer-container a:hover{

    color:var(--color-accent);

    padding-left:6px;

}

.copyright{

    text-align:center;

    padding:25px;

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

    color:#aaa;

}

/* ===========================
ANIMATIONS
===========================*/

.service-card,
.trust-box,
.hero-image img,
.about-image img{

    transition:all .4s ease;

}

.hero-image img:hover{

    transform:scale(1.03);

}

.about-image img:hover{

    transform:scale(1.03);

}

.btn-primary{

    transition:.3s;

}

.btn-primary:hover{

    transform:translateY(-3px);

    box-shadow:0 20px 35px rgba(59,78,102,.25);

}

.btn-secondary:hover{

    transform:translateY(-3px);

}

.service-card:hover{

    box-shadow:0 25px 50px rgba(0,0,0,.12);

}

.trust-box:hover{

    box-shadow:0 25px 50px rgba(0,0,0,.12);

}

/* ===========================
SCROLLBAR
===========================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:var(--color-bg-main);

}

::-webkit-scrollbar-thumb{

    background:var(--color-primary);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--color-primary-hover);

}

/* ===========================
SECTION SPACING
===========================*/

section{

    overflow:hidden;

}

h1,h2,h3,h4,h5{

    font-weight:700;

}

p{

    font-weight:400;

}

/* ===========================
RESPONSIVE
===========================*/

@media(max-width:1100px){

.hero{

grid-template-columns:1fr;

text-align:center;

}

.hero-buttons{

justify-content:center;

}

.about{

grid-template-columns:1fr;

}

.service-grid{

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

}

.trust{

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

}

.stats{

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

}

.footer-container{

grid-template-columns:1fr;

gap:40px;

}

}

@media(max-width:768px){

.navbar{

padding:16px 20px;

}

.nav-toggle{

display:flex;

}

.nav-links{

position:fixed;

top:0;

right:-100%;

width:78%;

max-width:320px;

height:100vh;

background:var(--color-bg-main);

flex-direction:column;

align-items:flex-start;

gap:26px;

padding:110px 35px 40px;

box-shadow:-15px 0 40px rgba(0,0,0,.15);

transition:right .35s ease;

z-index:1000;

overflow-y:auto;

}

.nav-links.active{

right:0;

}

.nav-backdrop{

display:block;

position:fixed;

inset:0;

background:rgba(43,46,49,.5);

opacity:0;

visibility:hidden;

transition:.3s;

z-index:900;

}

.nav-backdrop.active{

opacity:1;

visibility:visible;

}

.hero{

padding-top:140px;

}

.hero h1{

font-size:42px;

}

.hero p{

font-size:17px;

}

.about h2{

font-size:36px;

}

.section-title h2{

font-size:38px;

}

.service-grid{

grid-template-columns:1fr;

}

.trust{

grid-template-columns:1fr;

}

.stats{

grid-template-columns:1fr;

row-gap:50px;

}

.cta h2{

font-size:38px;

}

.footer-container{

text-align:center;

}

.logo img{

height:62px;

}

.btn-nav{

display:none;

}

}

@media(max-width:500px){

.hero h1{

font-size:34px;

}

.hero-buttons{

flex-direction:column;

align-items:stretch;

gap:15px;

}

.hero-buttons a{

text-align:center;

}

.hero{

padding-left:30px;

padding-right:30px;

}

.about{

padding-left:30px;

padding-right:30px;

}

.services{

padding-left:30px;

padding-right:30px;

}

.cta{

padding-left:30px;

padding-right:30px;

}

}