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

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

html{
    scroll-behavior:smooth;
}

body{

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

    direction:rtl;

    background:#faf8f4;

    color:#181818;

    overflow-x:hidden;

}

img{

    max-width:100%;

    display:block;

}

.more-text {
    margin-top: 15px;
    font-size: 14px;
    font-weight: 600;
    color: #a855f7;
    text-align: center;
}

a{

    text-decoration:none;

    color:inherit;

}

ul{

    list-style:none;

}

button{

    font-family:inherit;

    cursor:pointer;

}

.container{

    width:90%;

    max-width:1400px;

    margin:auto;

}

/*==============================
          COLORS
==============================*/

:root{

--gold:#d4a737;

--gold2:#e5bb52;

--dark:#090c16;

--dark2:#111827;

--white:#ffffff;

--gray:#666;

--border:#ece7de;

--bg:#faf8f4;

--shadow:0 10px 35px rgba(0,0,0,.08);

--radius:18px;

}

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

header{

position:fixed;

top:0;

right:0;

left:0;

z-index:999;

padding:20px 0;

transition:.4s;

background:rgba(9,12,22,.92);

backdrop-filter:blur(10px);

}

header .container{

display:flex;

align-items:center;

justify-content:space-between;

}

.logo{

display:flex;

align-items:center;

gap:12px;

}

.logo img{

width:45px;

}

.logo h2{

font-size:36px;

font-weight:800;

color:#fff;

}

nav ul{

display:flex;

gap:38px;

}

nav a{

color:#fff;

font-size:17px;

font-weight:500;

transition:.35s;

position:relative;

}

nav a:hover{

color:var(--gold);

}

nav a::after{

content:"";

position:absolute;

bottom:-8px;

right:0;

width:0;

height:2px;

background:var(--gold);

transition:.35s;

}

nav a:hover::after{

width:100%;

}

.login a{

background:linear-gradient(135deg,#f0c557,#d19a22);

padding:14px 34px;

border-radius:14px;

font-weight:700;

transition:.4s;

color:#111;

box-shadow:0 12px 30px rgba(214,168,56,.3);

}

.login a:hover{

transform:translateY(-3px);

box-shadow:0 18px 40px rgba(214,168,56,.45);

}

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

.hero{

padding-top:140px;

padding-bottom:110px;

background:

linear-gradient(90deg,#090c16 0%,#090c16 58%,transparent 58%),

linear-gradient(120deg,#0d101a,#0a0b13);

position:relative;

overflow:hidden;

}

.hero::before{

content:"";

position:absolute;

right:44%;

top:-180px;

width:700px;

height:700px;

border-radius:50%;

background:radial-gradient(circle,
rgba(223,170,55,.35),
transparent 70%);

filter:blur(20px);

}

.hero-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.hero-content{

color:#fff;

z-index:2;

}

.badge{

display:inline-block;

padding:10px 20px;

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

border:1px solid rgba(212,167,55,.35);

border-radius:100px;

color:var(--gold);

margin-bottom:24px;

}

.hero h1{

font-size:72px;

line-height:1.2;

font-weight:900;

margin-bottom:25px;

}

.hero h1 span{

color:var(--gold);

}

.hero p{

font-size:21px;

color:#d5d5d5;

line-height:2;

margin-bottom:35px;

max-width:650px;

}

.hero-buttons{

display:flex;

gap:18px;

margin-bottom:40px;

}

.btn{

padding:17px 38px;

border-radius:14px;

font-weight:700;

transition:.35s;

display:inline-flex;

align-items:center;

justify-content:center;

}

.btn-primary{

background:linear-gradient(135deg,#efc85b,#cb9520);

color:#111;

}

.btn-primary:hover{

transform:translateY(-4px);

box-shadow:0 15px 40px rgba(211,166,48,.45);

}

.btn-outline{

border:2px solid var(--gold);

color:#fff;

}

.btn-outline:hover{

background:var(--gold);

color:#111;

}

.hero-info{

display:flex;

flex-wrap:wrap;

gap:15px;

color:#d2d2d2;

font-size:16px;

}

.hero-image{

position:relative;

z-index:2;

}

.hero-image img{

border-radius:26px;

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

}

.hero-wave{

position:absolute;

bottom:-160px;

right:-120px;

width:700px;

height:700px;

border-radius:50%;

border:2px solid rgba(212,167,55,.35);

transform:rotate(-25deg);

}

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

.stats{

    margin-top:-170px;

    position:relative;

    z-index:10;

}

.stats-box{

    background:#0b0f19;

    border:1px solid rgba(212,167,55,.15);

    border-radius:22px;

    display:grid;

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

    align-items:center;

    padding:28px 10px;

    box-shadow:0 20px 50px rgba(0,0,0,.18);

}

.stat{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:18px;

}

.stat-text{

    display:flex;

    flex-direction:column;

    align-items:flex-end;

}

.stat h2{

    margin:0;

    color:#d4a737;

    font-size:34px;

    font-weight:800;

    line-height:1;

}

.stat p{

    margin-top:6px;

    color:#fff;

    font-size:15px;

}

.stat-icon{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#d4a737;

    font-size:34px;

}

.divider{

    width:1px;

    height:60px;

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

    justify-self:center;

}

/*==============================
      SECTION TITLE
==============================*/

section{

padding:90px 0;

}

.section-title{

text-align:center;

margin-bottom:60px;

}

.section-title span{

display:inline-block;

color:var(--gold);

font-weight:700;

margin-bottom:14px;

}

.section-title h2{

font-size:44px;

font-weight:900;

margin-bottom:18px;

color:#141414;

}

.section-title p{

max-width:760px;

margin:auto;

color:#666;

line-height:2;

font-size:18px;

}

/*==============================
        FEATURES
==============================*/

.features{

background:#faf8f4;

}

.feature-grid{

display:grid;

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

gap:22px;

}

.feature-card{

background:#fff;

border:1px solid #ece6db;

border-radius:20px;

padding:32px 22px;

text-align:center;

transition:.35s;

box-shadow:0 5px 18px rgba(0,0,0,.03);

cursor:pointer;

}

.feature-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 45px rgba(0,0,0,.12);

border-color:#d6aa42;

}

.feature-card .icon{
    width:72px;
    height:72px;
    margin:auto;
    margin-bottom:22px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.feature-card .icon img{
    width:72px;
    height:72px;
    object-fit:contain;

    transition:.35s;
}

.feature-card:hover .icon img{
    transform:scale(1.08);
}


.feature-card h3{

font-size:21px;

margin-bottom:15px;

font-weight:800;

color:#111;

}

.feature-card p{

font-size:15px;

line-height:2;

color:#666;

}

.feature-card .icon i{
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
}

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

.services{

padding:80px 0;

background:#faf8f4;

}

.services-grid{

display:grid;

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

gap:18px;

}

.service-card{

background:#fff;

border:1px solid #ece6dc;

border-radius:12px;

padding:22px;

transition:.35s;

}

.service-card:hover{

transform:translateY(-6px);

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

}

.big{

min-height:220px;

}

.small{

min-height:130px;

}

.service-head{

display:flex;

align-items:center;

gap:14px;

margin-bottom:18px;

}

.service-icon{

width:48px;

height:48px;

background:#111827;

border-radius:10px;

display:flex;

justify-content:center;

align-items:center;

color:#d4a737;

font-size:22px;

flex-shrink:0;

}

.service-head h3{

font-size:18px;

font-weight:700;

color:#111;

}

.service-card ul{

padding-right:18px;

margin:0;

}

.service-card ul li{

font-size:14px;

line-height:2;

color:#444;

}

.service-card ul li::marker{

color:#d4a737;

}

.service-card p{

margin-top:18px;

font-size:14px;

color:#555;

}

@media(max-width:900px){

.services-grid{

grid-template-columns:1fr;

}

.big,
.small{

min-height:auto;

}

}

/*==========================
        BANNER
==========================*/

.banner{

width:100%;

height:600px;

display:grid;

grid-template-columns:50% 50%;

background:#090b14;

overflow:hidden;

border-radius:18px;

margin:80px auto;

position:relative;

}

.banner-image{

width:100%;

height:100%;

overflow:hidden;

}

.banner-image img{

width:100%;

height:100%;

display:block;

object-fit:cover;

transition:.5s;

}

.banner:hover .banner-image img{

transform:scale(1.05);

}

.banner-text{

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

text-align:center;

padding:60px;

background:linear-gradient(90deg,#070912,#090b14);

position:relative;

}

.banner-text::after{

content:"";

position:absolute;

right:-120px;

bottom:-150px;

width:450px;

height:450px;

background:radial-gradient(circle,
rgba(212,167,55,.28),
transparent 70%);

pointer-events:none;

}

.badge{

display:inline-block;

padding:8px 20px;

border:1px solid rgba(212,167,55,.35);

border-radius:50px;

color:#d4a737;

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

margin-bottom:25px;

font-size:15px;

}

.banner-text h2{

font-size:58px;

font-weight:900;

line-height:1.3;

color:#fff;

margin-bottom:25px;

}

.banner-text p{

font-size:20px;

color:#ddd;

margin-bottom:40px;

line-height:2;

}

.banner .btn{

padding:16px 42px;

border-radius:12px;

background:#d4a737;

color:#111;

font-weight:700;

text-decoration:none;

transition:.3s;

}

.banner .btn:hover{

background:#f1c14a;

transform:translateY(-3px);

box-shadow:0 15px 35px rgba(212,167,55,.35);

}

@media(max-width:992px){

.banner{

grid-template-columns:1fr;

height:auto;

}

.banner-image{

height:320px;

}

.banner-text{

padding:40px 25px;

}

.banner-text h2{

font-size:40px;

}

.banner-text p{

font-size:17px;

}

}

@media(max-width:600px){

.banner-image{

height:240px;

}

.banner-text h2{

font-size:30px;

}

.banner-text p{

font-size:15px;

}

.banner .btn{

width:100%;

max-width:240px;

}

}


/*=============================
        AUDIENCE
=============================*/

.audience{

padding:60px 0;

}

.audience-grid{

display:grid;

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

gap:16px;

}

.audience-card{

height:95px;

background:#0d1320;

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

border-radius:10px;

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

transition:.35s;

cursor:pointer;

}

.audience-card i{

font-size:24px;

color:#d4a737;

margin-bottom:8px;

transition:.35s;

}

.audience-card h3{

font-size:16px;

font-weight:600;

color:#fff;

}

.audience-card:hover{

transform:translateY(-5px);

background:#131c2d;

border-color:#d4a737;

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

}

.audience-card:hover i{

transform:scale(1.15);

color:#f0c44f;

}

@media(max-width:900px){

.audience-grid{

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

}

}

@media(max-width:550px){

.audience-grid{

grid-template-columns:1fr;

}

}

/*=========================
      SKILLS SECTION
=========================*/

.skills-section{

padding:90px 0;

background:#faf8f4;

}

.section-title{

text-align:center;

font-size:40px;

font-weight:800;

color:#2d154d;

margin-bottom:15px;

}

.section-desc{

text-align:center;

font-size:17px;

color:#666;

margin-bottom:55px;

line-height:2;

}

.skills-grid{

display:grid;

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

gap:28px;

}

/*=========================
         CARD
=========================*/

.skill-card{

position:relative;

background:#fff;

border-radius:22px;

padding:90px 22px 95px;

overflow:hidden;

border:1px solid #e6e6e6;

box-shadow:0 12px 35px rgba(0,0,0,.07);

transition:.35s;

}

.skill-card:hover{

transform:translateY(-12px);

box-shadow:0 20px 45px rgba(0,0,0,.12);

}

/*=========================
        NUMBER
=========================*/

.skill-number{

position:absolute;

top:0;

left:0;

width:62px;

height:62px;

display:flex;

justify-content:center;

align-items:center;

font-size:26px;

font-weight:800;

color:#fff;

border-radius:20px 0 22px 0;

z-index:5;

}

.skill-card.purple .skill-number{

background:#4c1d75;

}

.skill-card.gold .skill-number{

background:#f0b323;

}

/*=========================
          ICON
=========================*/

.skill-icon{

width:115px;

height:115px;

margin:auto;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

border:3px solid #e5d5a5;

font-size:46px;

margin-bottom:30px;

}

.skill-card.purple .skill-icon{

color:#4c1d75;

border-color:#cdc2dc;

}

.skill-card.gold .skill-icon{

color:#d4a017;

border-color:#f0d78b;

}

/*=========================
         TITLE
=========================*/

.skill-card h3{

text-align:center;

font-size:30px;

font-weight:800;

color:#2d154d;

line-height:1.5;

margin-bottom:30px;

}

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

.skill-card ul{

padding:0;

margin:0;

list-style:none;

}

.skill-card ul li{

position:relative;

padding-right:22px;

margin-bottom:15px;

font-size:15px;

line-height:2;

color:#444;

}

.skill-card ul li::before{

content:"";

position:absolute;

right:0;

top:12px;

width:8px;

height:8px;

border-radius:50%;

}

.skill-card.purple li::before{

background:#4c1d75;

}

.skill-card.gold li::before{

background:#f0b323;

}


/*=========================
      BOTTOM SHAPE
=========================*/

.skill-card::after{

content:"";

position:absolute;

left:-10%;

bottom:-85px;

width:120%;

height:170px;

border-radius:50%;

transition:.35s;

}

.skill-card.purple::after{

background:#4c1d75;

}

.skill-card.gold::after{

background:#d8a321;

}

/*=========================
      BOTTOM DOTS
=========================*/

.skill-card::before{

content:"";

position:absolute;

bottom:26px;

left:50%;

transform:translateX(-50%);

width:70px;

height:10px;

background-image:radial-gradient(#ffffff 2px,transparent 2px);

background-size:14px 10px;

background-repeat:repeat-x;

z-index:5;

}

/*=========================
      HOVER EFFECT
=========================*/

.skill-card:hover::after{

height:190px;

bottom:-70px;

}

.skill-card:hover .skill-icon{

transform:scale(1.08) rotate(8deg);

}

.skill-card:hover .skill-number{

transform:scale(1.08);

}

.skill-icon{

transition:.35s;

}

.skill-number{

transition:.35s;

}

/*=========================
      BORDER EFFECT
=========================*/

.skill-card.purple{

border-top:5px solid #4c1d75;

}

.skill-card.gold{

border-top:5px solid #d8a321;

}

/*=========================
      TITLE EFFECT
=========================*/

.skill-card:hover h3{

color:#d8a321;

transition:.3s;

}

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

@media(max-width:1200px){

.skills-grid{

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

gap:22px;

}

}

@media(max-width:768px){

.skills-section{

padding:70px 0;

}

.skills-grid{

grid-template-columns:1fr;

}

.skill-card{

padding:80px 20px 90px;

}

.skill-icon{

width:95px;

height:95px;

font-size:38px;

}

.skill-card h3{

font-size:24px;

}

.section-title{

font-size:32px;

}

.section-desc{

font-size:15px;

}

}

@media(max-width:480px){

.skill-card{

padding:70px 18px 85px;

}

.skill-icon{

width:80px;

height:80px;

font-size:32px;

}

.skill-number{

width:55px;

height:55px;

font-size:22px;

}

.skill-card h3{

font-size:22px;

}

.skill-card ul li{

font-size:14px;

}

}

/*======================================
            EVENTS
======================================*/

.events{

padding:80px 0;

}

.events-grid{

display:grid;

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

gap:14px;

}

.event-card{

position:relative;

height:180px;

overflow:hidden;

border-radius:12px;

cursor:pointer;

}

.event-card img{

width:100%;

height:100%;

object-fit:cover;

transition:.5s;

}

.event-card::after{

content:"";

position:absolute;

left:0;

right:0;

bottom:0;

height:100%;

background:linear-gradient(to top,
rgba(0,0,0,.92),
rgba(0,0,0,.55),
transparent);

}

.event-content{

position:absolute;

left:18px;

right:18px;

bottom:16px;

z-index:5;

color:#fff;

}

.event-icon{

width:42px;

height:42px;

border:2px solid #d4a737;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:18px;

color:#d4a737;

margin-bottom:10px;

}

.event-content h3{

font-size:19px;

margin-bottom:6px;

font-weight:700;

}

.event-content p{

font-size:13px;

color:#eee;

}

.event-card:hover img{

transform:scale(1.08);

}

.event-card:hover .event-icon{

background:#d4a737;

color:#111;

}

@media(max-width:1200px){

.events-grid{

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

}

}

@media(max-width:768px){

.events-grid{

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

}

}

@media(max-width:500px){

.events-grid{

grid-template-columns:1fr;

}

}

/*======================================
        AUDIENCE
======================================*/

.audience{

padding-top:50px;

}

.audience-grid{

display:grid;

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

gap:24px;

}

.audience-card{

background:#0b0d17;

color:#fff;

padding:35px;

text-align:center;

border-radius:22px;

transition:.35s;

cursor:pointer;

}

.audience-card:hover{

transform:translateY(-8px);

background:#151b29;

}

.audience-card .icon{

width:80px;

height:80px;

margin:auto;

margin-bottom:20px;

border-radius:50%;

background:linear-gradient(135deg,#efc75d,#cb9720);

display:flex;

align-items:center;

justify-content:center;

font-size:32px;

color:#111;

}

.audience-card h3{

font-size:23px;

font-weight:800;

margin-bottom:15px;

}

.audience-card p{

line-height:2;

color:#d7d7d7;

}


/*==========================
      SKILL DETAILS
==========================*/

.skill-details{

padding:0 0 120px;

display:none;

animation:detailShow .5s ease;

}

.skill-details.active{

display:block;

}

.detail-box{

background:#111625;

border:1px solid rgba(214,167,55,.22);

border-radius:28px;

overflow:hidden;

box-shadow:0 30px 80px rgba(0,0,0,.35);

}

.detail-header{

display:flex;

justify-content:space-between;

align-items:center;

padding:35px 45px;

background:linear-gradient(90deg,#111625,#1a2034);

border-bottom:1px solid rgba(214,167,55,.15);

}

.detail-title{

display:flex;

align-items:center;

gap:22px;

}

.detail-icon{

width:75px;

height:75px;

border-radius:20px;

background:linear-gradient(135deg,#d6a737,#f4d87d);

display:flex;

justify-content:center;

align-items:center;

font-size:30px;

color:#111;

box-shadow:0 10px 30px rgba(214,167,55,.25);

}

.detail-number{

display:block;

font-size:14px;

letter-spacing:1px;

color:#d6a737;

margin-bottom:8px;

}

.detail-title h2{

font-size:34px;

color:#fff;

font-weight:800;

margin:0;

}

.detail-close{

width:52px;

height:52px;

border:none;

border-radius:50%;

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

color:#fff;

font-size:20px;

cursor:pointer;

transition:.35s;

}

.detail-close:hover{

background:#d6a737;

color:#111;

transform:rotate(90deg);

}

.detail-body{

padding:45px;

}

.detail-body p{

font-size:18px;

line-height:2.4;

color:#d6d6d6;

text-align:justify;

}

.detail-footer{

padding:0 45px 40px;

display:flex;

justify-content:flex-end;

}

.detail-btn{

background:linear-gradient(135deg,#d6a737,#f5dd8d);

padding:15px 35px;

border-radius:50px;

color:#111;

font-weight:700;

text-decoration:none;

border:none;

cursor:pointer;

transition:.35s;

}

.detail-btn:hover{

transform:translateY(-5px);

box-shadow:0 15px 35px rgba(214,167,55,.3);

}

.detail-btn i{

margin-left:10px;

}

.skill-card.active{

border:1px solid #d6a737;

transform:translateY(-8px);

box-shadow:0 15px 40px rgba(214,167,55,.18);

}

@keyframes detailShow{

from{

opacity:0;

transform:translateY(35px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*==========================
      MOBILE
==========================*/

@media(max-width:992px){

.detail-header{

padding:30px;

}

.detail-body{

padding:30px;

}

.detail-footer{

padding:0 30px 30px;

}

.detail-title h2{

font-size:28px;

}

}

@media(max-width:768px){

.detail-header{

flex-direction:column;

align-items:flex-start;

gap:25px;

}

.detail-title{

flex-direction:column;

align-items:flex-start;

}

.detail-icon{

width:65px;

height:65px;

font-size:26px;

}

.detail-title h2{

font-size:24px;

}

.detail-body p{

font-size:16px;

line-height:2.2;

}

.detail-footer{

justify-content:center;

}

.detail-btn{

width:100%;

text-align:center;

}

}


/*======================================
      CERTIFICATE
======================================*/

.certificate{

padding:110px 0;

}

.certificate-box{

display:grid;

grid-template-columns:420px 1fr;

gap:45px;

align-items:center;

background:#fff;

border-radius:24px;

padding:40px;

border:1px solid #ece6db;

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

}

.certificate-box img{

border-radius:18px;

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

}

.certificate-content h2{

font-size:48px;

font-weight:900;

margin-bottom:25px;

}

.certificate-content p{

font-size:18px;

line-height:2.2;

color:#666;

margin-bottom:28px;

}

.certificate-list{

display:grid;

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

gap:18px;

}

.certificate-list li{

display:flex;

align-items:center;

gap:12px;

font-size:17px;

}

.certificate-list li::before{

content:"✓";

width:28px;

height:28px;

display:flex;

align-items:center;

justify-content:center;

background:#d4a737;

border-radius:50%;

color:#111;

font-weight:800;

}

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

.testimonial-grid{

display:grid;

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

gap:30px;

}

.testimonial-card{

background:#fff;

padding:35px;

border-radius:22px;

border:1px solid #ece6db;

transition:.35s;

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

}

.testimonial-card:hover{

transform:translateY(-8px);

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

}

.user{

display:flex;

align-items:center;

margin-bottom:22px;

}

.user img{

width:70px;

height:70px;

border-radius:50%;

object-fit:cover;

margin-left:18px;

}

.user h4{

font-size:21px;

margin-bottom:5px;

}

.user span{

color:#888;

font-size:15px;

}

.testimonial-card p{

line-height:2.1;

color:#666;

font-size:16px;

}

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

.faq-box{

max-width:950px;

margin:auto;

}

.faq-item{

background:#fff;

margin-bottom:18px;

border-radius:18px;

border:1px solid #ece6db;

overflow:hidden;

}

.faq-btn{

width:100%;

padding:25px;

display:flex;

justify-content:space-between;

align-items:center;

background:none;

border:none;

font-size:19px;

font-weight:700;

}

.faq-content{

display:none;

padding:0 25px 25px;

line-height:2;

color:#666;

}

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

.newsletter-box{

background:linear-gradient(135deg,#090c16,#161f2d);

padding:60px;

border-radius:28px;

display:flex;

justify-content:space-between;

align-items:center;

color:#fff;

overflow:hidden;

position:relative;

}

.newsletter-box::before{

content:"";

position:absolute;

width:420px;

height:420px;

background:radial-gradient(circle,
rgba(212,167,55,.35),
transparent);

left:-120px;

top:-140px;

}

.newsletter-box h2{

font-size:44px;

margin-top:12px;

}

.newsletter-box form{

display:flex;

gap:15px;

}

.newsletter-box input{

width:350px;

padding:18px 22px;

border:none;

border-radius:14px;

font-size:16px;

outline:none;

}

.newsletter-box button{

padding:18px 34px;

background:#d4a737;

border:none;

border-radius:14px;

font-weight:800;

transition:.35s;

}

.newsletter-box button:hover{

transform:translateY(-3px);

}

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

.cta{

padding:120px 0;

}

.cta-box{

background:linear-gradient(135deg,#d6a22b,#efc65d);

padding:80px;

border-radius:30px;

text-align:center;

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

}

.cta-box h2{

font-size:58px;

font-weight:900;

margin-bottom:20px;

color:#111;

}

.cta-box p{

font-size:20px;

max-width:750px;

margin:auto;

line-height:2;

margin-bottom:40px;

color:#222;

}

.cta-box a{

display:inline-flex;

align-items:center;

justify-content:center;

padding:18px 45px;

background:#090c16;

color:#fff;

border-radius:16px;

font-size:18px;

font-weight:800;

transition:.35s;

}

.cta-box a:hover{

background:#fff;

color:#111;

transform:translateY(-5px);

}


/*=========================
      CERTIFICATE
=========================*/

.certificate{

padding:50px 0;

}

.certificate-box{

display:grid;

grid-template-columns:320px 1fr 250px;

align-items:center;

gap:30px;

background:#fff;

border:1px solid #ece6dc;

border-radius:12px;

padding:20px 28px;

transition:.35s;

}

.certificate-box:hover{

box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.certificate-image img{

width:100%;

border:1px solid #eee;

border-radius:8px;

display:block;

}

.certificate-content h3{

font-size:24px;

margin-bottom:15px;

font-weight:700;

color:#111;

}

.certificate-content p{

font-size:15px;

line-height:2;

color:#555;

}

.certificate-logos{

display:flex;

justify-content:space-evenly;

align-items:center;

gap:30px;

}

.certificate-logos img{

width:85px;

height:auto;

object-fit:contain;

transition:.3s;

}

.certificate-logos img:hover{

transform:scale(1.08);

}

@media(max-width:900px){

.certificate-box{

grid-template-columns:1fr;

text-align:center;

}

.certificate-logos{

justify-content:center;

}

}

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

footer{

background:#090c16;

padding:90px 0 30px;

margin-top:100px;

color:#fff;

}

.footer-grid{

display:grid;

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

gap:45px;

}

.footer-logo{

width:70px;

margin-bottom:25px;

}

.footer-col p{

color:#bdbdbd;

line-height:2.2;

}

.footer-col h3{

font-size:23px;

margin-bottom:22px;

color:#fff;

}

.footer-col ul li{

margin-bottom:14px;

}

.footer-col ul li a{

color:#cfcfcf;

transition:.3s;

}

.footer-col ul li a:hover{

color:#d4a737;

padding-right:8px;

}

.socials{

display:flex;

gap:15px;

margin-top:20px;

}

.socials a{

width:48px;

height:48px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:#181d29;

font-size:20px;

transition:.35s;

}

.socials a:hover{

background:#d4a737;

color:#111;

transform:translateY(-6px);

}

.footer-bottom{

margin-top:60px;

padding-top:30px;

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

text-align:center;

color:#aaa;

font-size:15px;

}

/*======================================
          SCROLL BUTTON
======================================*/

#scrollTop{

position:fixed;

left:35px;

bottom:35px;

width:58px;

height:58px;

border:none;

border-radius:50%;

background:#d4a737;

color:#111;

font-size:22px;

cursor:pointer;

display:flex;

align-items:center;

justify-content:center;

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

transition:.35s;

z-index:999;

}

#scrollTop:hover{

transform:translateY(-6px);

}

/*======================================
             ANIMATION
======================================*/

.fade-up{

opacity:0;

transform:translateY(60px);

transition:1s;

}

.fade-up.show{

opacity:1;

transform:translateY(0);

}

.zoom{

opacity:0;

transform:scale(.9);

transition:.9s;

}

.zoom.show{

opacity:1;

transform:scale(1);

}

.left{

opacity:0;

transform:translateX(-80px);

transition:1s;

}

.left.show{

opacity:1;

transform:translateX(0);

}

.right{

opacity:0;

transform:translateX(80px);

transition:1s;

}

.right.show{

opacity:1;

transform:translateX(0);

}

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

@media(max-width:1200px){

.hero-container,
.certificate-box{

grid-template-columns:1fr;

}

.feature-grid{

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

}

.course-grid,
.service-wrapper,
.testimonial-grid{

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

}

.footer-grid{

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

}

.hero h1{

font-size:58px;

}

}

@media(max-width:900px){

nav{

display:none;

}

.hero{

text-align:center;

}

.hero-buttons{

justify-content:center;

}

.hero-info{

justify-content:center;

}

.feature-grid{

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

}

.event-list{

grid-template-columns:1fr;

}

.course-grid,
.service-wrapper,
.testimonial-grid{

grid-template-columns:1fr;

}

.stats-box{

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

gap:25px;

}

.divider{

display:none;

}

.newsletter-box{

flex-direction:column;

gap:35px;

text-align:center;

}

.newsletter-box form{

flex-direction:column;

width:100%;

}

.newsletter-box input{

width:100%;

}

}

@media(max-width:600px){

.hero h1{

font-size:42px;

}

.section-title h2{

font-size:32px;

}

.feature-grid{

grid-template-columns:1fr;

}

.audience-grid{

grid-template-columns:1fr;

}

.footer-grid{

grid-template-columns:1fr;

text-align:center;

}

.socials{

justify-content:center;

}

.cta-box{

padding:50px 25px;

}

.cta-box h2{

font-size:38px;

}

.newsletter-box{

padding:40px 25px;

}

.newsletter-box h2{

font-size:32px;

}

.container{

width:94%;

}

}

/*==================================
        BACKGROUND SHAPES
==================================*/

.hero::after{

content:"";

position:absolute;

right:-180px;

top:-180px;

width:700px;

height:700px;

border-radius:50%;

background:radial-gradient(circle,
rgba(212,167,55,.18),
transparent 70%);

filter:blur(60px);

pointer-events:none;

}

.features::before{

content:"";

position:absolute;

left:-250px;

top:150px;

width:500px;

height:500px;

border-radius:50%;

background:radial-gradient(circle,
rgba(212,167,55,.08),
transparent 75%);

filter:blur(80px);

}

.services::after{

content:"";

position:absolute;

right:-180px;

bottom:-180px;

width:420px;

height:420px;

border-radius:50%;

background:rgba(212,167,55,.05);

filter:blur(70px);

}

/*==================================
          GOLD LINE
==================================*/

.gold-line{

width:90px;

height:5px;

margin:20px auto;

border-radius:100px;

background:linear-gradient(90deg,
transparent,
#d4a737,
#efcb68,
#d4a737,
transparent);

}

/*==================================
        IMAGE EFFECT
==================================*/

.hero-image{

position:relative;

}

.hero-image::before{

content:"";

position:absolute;

inset:-18px;

border-radius:32px;

background:linear-gradient(
135deg,
rgba(212,167,55,.25),
transparent 45%);

z-index:-1;

}

.hero-image img{

transition:.5s;

}

.hero-image:hover img{

transform:scale(1.03);

}

/*==================================
      CARD GLOW
==================================*/

.feature-card::before,
.service-card::before,
.course-card::before,
.testimonial-card::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:5px;

background:linear-gradient(
90deg,
#d4a737,
#efcb68);

transform:scaleX(0);

transform-origin:right;

transition:.4s;

}

.feature-card,
.service-card,
.course-card,
.testimonial-card{

position:relative;

overflow:hidden;

}

.feature-card:hover::before,
.service-card:hover::before,
.course-card:hover::before,
.testimonial-card:hover::before{

transform:scaleX(1);

}

/*==================================
      ICON ROTATION
==================================*/

.feature-card:hover .icon{

transform:rotate(8deg) scale(1.08);

transition:.35s;

}

.service-card:hover img{

transform:scale(1.05);

transition:.45s;

}

.course-card:hover img{

transform:scale(1.06);

transition:.45s;

}

/*==================================
      BUTTON EFFECT
==================================*/

.btn,
.login a,
.course-footer a,
.service-card a{

position:relative;

overflow:hidden;

}

.btn::before,
.login a::before,
.course-footer a::before,
.service-card a::before{

content:"";

position:absolute;

left:-130%;

top:0;

width:120%;

height:100%;

background:linear-gradient(
90deg,
transparent,
rgba(255,255,255,.4),
transparent);

transform:skewX(-20deg);

transition:.7s;

}

.btn:hover::before,
.login a:hover::before,
.course-footer a:hover::before,
.service-card a:hover::before{

left:130%;

}

/*==================================
      FLOAT EFFECT
==================================*/

@keyframes floating{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-14px);

}

100%{

transform:translateY(0);

}

}

.hero-image{

animation:floating 6s ease-in-out infinite;

}

/*==================================
      SHADOW LEVELS
==================================*/

.shadow-sm{

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

}

.shadow-md{

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

}

.shadow-lg{

box-shadow:0 30px 80px rgba(0,0,0,.16);

}

/*==================================
      TEXT GRADIENT
==================================*/

.gold-text{

background:linear-gradient(135deg,#c68d1b,#efcb68);

background-clip:text;

-webkit-background-clip:text;

color:transparent;

-webkit-text-fill-color:transparent;

}

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

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#f7f4ee;

}

::-webkit-scrollbar-thumb{

background:#d4a737;

border-radius:100px;

}

::-webkit-scrollbar-thumb:hover{

background:#b98818;

}

/*==================================
      SELECTION
==================================*/

::selection{

background:#d4a737;

color:#111;

}

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

.hero .circle-one{

position:absolute;

width:140px;

height:140px;

border-radius:50%;

border:1px solid rgba(212,167,55,.25);

right:10%;

top:18%;

animation:rotateSlow 25s linear infinite;

}

.hero .circle-two{

position:absolute;

width:220px;

height:220px;

border-radius:50%;

border:2px dashed rgba(212,167,55,.18);

left:8%;

bottom:12%;

animation:rotateReverse 40s linear infinite;

}

.hero .blur-light{

position:absolute;

width:450px;

height:450px;

background:radial-gradient(circle,#d4a73755,transparent 75%);

filter:blur(90px);

top:-120px;

right:18%;

pointer-events:none;

}

/*==================================
        CARD BORDER
==================================*/

.feature-card::after,
.course-card::after,
.service-card::after{

content:"";

position:absolute;

inset:0;

border:1px solid rgba(212,167,55,.25);

border-radius:22px;

opacity:0;

transition:.35s;

pointer-events:none;

}

.feature-card:hover::after,
.course-card:hover::after,
.service-card:hover::after{

opacity:1;

}


/*==================================
      IMAGE SHINE
==================================*/

.course-card{

overflow:hidden;

}

.course-card::before{

content:"";

position:absolute;

top:-60%;

left:-120%;

width:70%;

height:220%;

background:

linear-gradient(

90deg,

transparent,

rgba(255,255,255,.25),

transparent

);

transform:rotate(20deg);

transition:1s;

}

.course-card:hover::before{

left:180%;

}

/*==================================
      ICON SHADOW
==================================*/

.icon{

box-shadow:

0 15px 25px rgba(212,167,55,.25),

0 0 40px rgba(212,167,55,.08);

}

/*==================================
        HOVER LIFT
==================================*/

.feature-card:hover{

transform:

translateY(-10px)

scale(1.015);

}

.service-card:hover{

transform:

translateY(-10px)

scale(1.01);

}

.course-card:hover{

transform:

translateY(-12px)

scale(1.01);

}

.testimonial-card:hover{

transform:

translateY(-8px);

}

/*==================================
        MENU EFFECT
==================================*/

nav ul li{

position:relative;

}

nav ul li::before{

content:"";

position:absolute;

bottom:-14px;

right:50%;

width:0;

height:4px;

border-radius:20px;

background:#d4a737;

transition:.35s;

transform:translateX(50%);

}

nav ul li:hover::before{

width:24px;

}

/*==================================
      SECTION SPACE
==================================*/

.features{

position:relative;

padding-top:120px;

padding-bottom:120px;

}

.services{

position:relative;

padding:120px 0;

}

.courses{

padding:120px 0;

}

.events{

padding:120px 0;

}

.testimonials{

padding:120px 0;

}

.faq{

padding:120px 0;

}

/*==================================
        TITLE STYLE
==================================*/

.section-title h2{

position:relative;

display:inline-block;

padding-bottom:22px;

}

.section-title h2::after{

content:"";

position:absolute;

left:50%;

transform:translateX(-50%);

bottom:0;

width:90px;

height:4px;

border-radius:30px;

background:

linear-gradient(

90deg,

transparent,

#d4a737,

transparent

);

}

/*==================================
        PARALLAX BG
==================================*/

.banner{

background-attachment:fixed;

background-size:cover;

background-position:center;

}

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

footer{

position:relative;

overflow:hidden;

}

footer::before{

content:"";

position:absolute;

width:500px;

height:500px;

border-radius:50%;

background:

radial-gradient(

circle,

rgba(212,167,55,.08),

transparent

);

left:-180px;

top:-180px;

}

footer::after{

content:"";

position:absolute;

width:420px;

height:420px;

border-radius:50%;

background:

radial-gradient(

circle,

rgba(212,167,55,.06),

transparent

);

right:-150px;

bottom:-150px;

}

/*==================================
        KEYFRAMES
==================================*/

@keyframes rotateSlow{

from{

transform:rotate(0);

}

to{

transform:rotate(360deg);

}

}

@keyframes rotateReverse{

from{

transform:rotate(360deg);

}

to{

transform:rotate(0);

}

}

@keyframes fadeIn{

0%{

opacity:0;

transform:translateY(40px);

}

100%{

opacity:1;

transform:translateY(0);

}

}

@keyframes pulseGold{

0%{

box-shadow:0 0 0 rgba(212,167,55,0);

}

50%{

box-shadow:0 0 30px rgba(212,167,55,.4);

}

100%{

box-shadow:0 0 0 rgba(212,167,55,0);

}

}

.hero .btn-primary{

animation:pulseGold 3s infinite;

}




html{
    scroll-behavior:smooth;
}

section{
    scroll-margin-top:100px;
}




.faq-btn{

display:flex;
justify-content:space-between;
align-items:center;
width:100%;
background:none;
border:none;
cursor:pointer;
font-size:20px;
font-weight:700;
padding:22px 25px;
text-align:right;
font-family:inherit;

}

.faq-btn span{
flex:1;
}

.faq-icon{

font-size:18px;
color:#c89a2c;
transition:.35s;

}

.faq-item.active .faq-icon{

transform:rotate(45deg);

}



.register-modal{

position:fixed;
inset:0;
background:rgba(0,0,0,.7);

display:none;
justify-content:center;
align-items:center;

z-index:99999;

padding:30px;

}

.register-modal.active{

display:flex;

}

.register-box{

width:min(1100px,95%);
height:85vh;

background:#fff;

border-radius:20px;

overflow:hidden;

position:relative;

padding:25px;

}

.close-register{

position:absolute;

top:15px;

left:15px;

width:45px;
height:45px;

border:none;

border-radius:50%;

background:#d6aa42;

color:#fff;

font-size:22px;

cursor:pointer;

}

.close-register:hover{

background:#b98b22;

}


/*==================================
        FINAL RESPONSIVE FIX
==================================*/

@media (max-width: 900px){

    header{
        padding:15px 25px;
    }

    header .logo img{
        width:75px !important;
    }

    nav{
        display:none;
    }

    .hero{
        padding:120px 25px 70px;
        text-align:center;
    }

    .hero-container{
        grid-template-columns:1fr;
        gap:40px;
    }

    .hero-content{
        width:100%;
    }

    .hero h1{
        font-size:42px;
    }

    .hero p{
        font-size:17px;
    }

    .hero-buttons{
        justify-content:center;
        flex-wrap:wrap;
    }

    .hero-info{
        justify-content:center;
    }

    .hero-image{
        max-width:700px;
        width:100%;
        margin:auto;
    }

    .stats{
        margin-top:-40px;
        padding:0 20px;
    }

    .stats-box{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

    .divider{
        display:none;
    }

    .feature-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .services-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .skills-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .events-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .audience-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .testimonial-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .certificate-box{
        grid-template-columns:1fr;
        text-align:center;
    }

    .certificate-logos{
        justify-content:center;
    }

    .footer-grid{
        grid-template-columns:repeat(2,1fr);
    }

}


@media (max-width: 600px){

    header{
        padding:12px 18px;
    }

    header .logo img{
        width:65px !important;
    }

    .logo h2{
        font-size:28px;
    }

    .hero{
        padding:110px 18px 50px;
    }

    .hero h1{
        font-size:30px;
        line-height:1.5;
    }

    .hero p{
        font-size:15px;
        line-height:2;
    }

    .hero-buttons{
        flex-direction:column;
        width:100%;
        gap:12px;
    }

    .hero-buttons .btn{
        width:100%;
    }

    .hero-info{
        flex-direction:column;
        align-items:center;
    }

    .hero-image{
        width:100%;
    }

    .hero-wave {
        display: none;
    }

    .stats{
        margin-top:-20px;
        padding:0 15px;
    }

    .stats-box{
        grid-template-columns:1fr 1fr;
        padding:20px 10px;
    }

    .stat{
        gap:8px;
        padding:12px 5px;
    }

    .stat h2{
        font-size:24px;
    }

    .stat p{
        font-size:12px;
    }

    .stat-icon{
        font-size:25px;
        width:32px;
        height:32px;
    }

    .feature-grid,
    .services-grid,
    .skills-grid,
    .events-grid,
    .audience-grid,
    .testimonial-grid{
        grid-template-columns:1fr;
    }

    section{
        padding:60px 18px;
    }

    .section-title{
        margin-bottom:40px;
    }

    .section-title h2{
        font-size:28px;
    }

    .section-title p{
        font-size:15px;
    }

    .skills-section{
        padding:60px 0;
    }

    .certificate{
        padding:60px 0;
    }

    .certificate-box{
        padding:20px;
    }

    .certificate-content h3{
        font-size:22px;
    }

    .newsletter-box{
        padding:40px 20px;
    }

    .cta{
        padding:70px 0;
    }

    .cta-box{
        padding:50px 20px;
    }

    .cta-box h2{
        font-size:34px;
    }

    .cta-box p{
        font-size:16px;
    }

    footer{
        padding:60px 0 25px;
        margin-top:60px;
    }

    .footer-grid{
        grid-template-columns:1fr;
        text-align:center;
    }

    .socials{
        justify-content:center;
    }

}


@media (max-width:400px){

    header .logo img{
        width:55px !important;
    }

    .logo h2{
        font-size:24px;
    }

    .hero{
        padding:100px 14px 40px;
    }

    .hero h1{
        font-size:26px;
    }

    .hero p{
        font-size:14px;
    }

    .stats-box{
        grid-template-columns:1fr;
    }

    .section-title h2{
        font-size:24px;
    }

}








html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
}

* {
    max-width: 100%;
}




/*==================================
      REGISTER MODAL RESPONSIVE
==================================*/

.register-modal{
    padding:20px;
    overflow-y:auto;
}

.register-box{
    width:100%;
    max-width:1100px;
    height:auto;
    max-height:90vh;
    min-height:500px;

    overflow-y:auto;
    overflow-x:hidden;

    padding:30px;
    border-radius:20px;
}


/*========== TABLET ==========*/

@media (max-width:900px){

    .register-modal{
        padding:15px;
        align-items:center;
    }

    .register-box{
        width:100%;
        max-width:700px;
        max-height:92vh;
        padding:25px;
        border-radius:18px;
    }

}


/*========== MOBILE ==========*/

@media (max-width:600px){

    .register-modal{
        padding:10px;
        align-items:flex-start;
        padding-top:20px;
    }

    .register-box{
        width:100%;
        max-width:none;
        max-height:calc(100vh - 40px);

        padding:55px 18px 25px;

        border-radius:15px;
    }

    .close-register{
        top:10px;
        left:10px;

        width:40px;
        height:40px;

        font-size:18px;
    }

}


/*========== VERY SMALL MOBILE ==========*/

@media (max-width:400px){

    .register-modal{
        padding:8px;
        padding-top:15px;
    }

    .register-box{
        max-height:calc(100vh - 30px);
        padding:55px 14px 20px;
        border-radius:12px;
    }

    .close-register{
        width:36px;
        height:36px;
        font-size:16px;
    }

}