/*=========================================
    HERO SECTION
=========================================*/

.hero{

    position:relative;

    overflow:hidden;

    padding:120px 0 80px;

    background:linear-gradient(135deg,#fff8f2 0%,#ffffff 55%,#eef6ff 100%);

}

.hero::before{

    content:"";

    position:absolute;

    width:550px;

    height:550px;

    border-radius:50%;

    background:rgba(255,107,0,.08);

    top:-220px;

    left:-180px;

}

.hero::after{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:rgba(30,64,175,.07);

    bottom:-220px;

    right:-180px;

}

.hero .container{

    position:relative;

    z-index:10;

}

/*=========================================
    GRID
=========================================*/

.hero-grid{

    display:grid;

    grid-template-columns:58% 42%;

    align-items:center;

    gap:70px;

    min-height:650px;

}

/*=========================================
    LEFT
=========================================*/

.hero-left{

    max-width:700px;

}

.hero-tag{

    display:inline-flex;

    align-items:center;

    padding:10px 22px;

    border-radius:50px;

    background:#ffffff;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    color:#ff6b00;

    font-weight:600;

    margin-bottom:30px;

}

.hero-tag::before{

    content:"";

    width:10px;

    height:10px;

    border-radius:50%;

    background:#ff6b00;

    margin-right:10px;

}

.hero-left h1{

    font-size:68px;

    line-height:1.05;

    font-weight:800;

    color:#111827;

    margin-bottom:18px;

}

.hero-left h1 span{

    color:#ff6b00;

}

.hero-left h2{

    font-size:34px;

    font-weight:700;

    color:#1e293b;

    margin-bottom:15px;

}

.hero-left h3{

    font-size:20px;

    color:#1e40af;

    font-weight:600;

    margin-bottom:25px;

}

.hero-left p{

    font-size:18px;

    line-height:1.9;

    color:#6b7280;

}

/*=========================================
    BUTTONS
=========================================*/

.hero-buttons{

    display:flex;

    gap:18px;

    margin-top:40px;

    flex-wrap:wrap;

}

.hero-buttons .btn{

    min-width:190px;

    height:56px;

    border-radius:50px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    text-decoration:none;

}

.btn-outline{

    background:#fff;

    border:2px solid #dbe3ef;

    color:#1e293b;

}

.btn-outline:hover{

    background:#1e40af;

    color:#fff;

}

/*=========================================
    SOCIAL
=========================================*/

.hero-social{

    display:flex;

    gap:15px;

    margin-top:45px;

}

.hero-social a{

    width:48px;

    height:48px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#fff;

    color:#111827;

    box-shadow:0 12px 25px rgba(0,0,0,.08);

    transition:.35s;

}

.hero-social a:hover{

    background:#ff6b00;

    color:#fff;

    transform:translateY(-5px);

}

/*=========================================
    RIGHT SIDE
=========================================*/

.hero-right{

    display:flex;

    justify-content:center;

    align-items:center;

    position:relative;

}

.hero-photo{

    position:relative;

    width:480px;

    height:480px;

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-photo::before{

    content:"";

    position:absolute;

    width:100%;

    height:100%;

    border-radius:50%;

    background:linear-gradient(135deg,#ff6b00,#ffb347);

    animation:rotateRing 15s linear infinite;

}

.hero-photo::after{

    content:"";

    position:absolute;

    width:430px;

    height:430px;

    border-radius:50%;

    background:#ffffff;

    z-index:1;

}

.hero-photo img{

    position:relative;

    width:390px;

    height:390px;

    object-fit:cover;

    border-radius:50%;

    z-index:5;

    border:8px solid #fff;

    box-shadow:0 20px 50px rgba(0,0,0,.15);

    transition:.4s;

}

.hero-photo:hover img{

    transform:scale(1.03);

}

/*=========================================
    EXPERIENCE CARD
=========================================*/

.experience-card{

    position:absolute;

    bottom:25px;

    left:-20px;

    width:220px;

    background:rgba(255,255,255,.95);

    backdrop-filter:blur(15px);

    border-radius:20px;

    padding:20px;

    text-align:center;

    box-shadow:0 20px 45px rgba(0,0,0,.12);

    z-index:20;

}

.experience-card h2{

    font-size:46px;

    color:#ff6b00;

    margin:0;

    font-weight:800;

}

.experience-card span{

    display:block;

    margin-top:8px;

    color:#555;

    font-size:16px;

    font-weight:500;

}

/*=========================================
    FLOATING BADGES
=========================================*/

.hero-badge{

    position:absolute;

    top:50px;

    right:-20px;

    background:#1e40af;

    color:#fff;

    padding:14px 22px;

    border-radius:50px;

    font-size:15px;

    font-weight:600;

    box-shadow:0 15px 40px rgba(30,64,175,.35);

    animation:floatBadge 4s ease-in-out infinite;

    z-index:25;

}

.hero-badge i{

    margin-right:8px;

}

/*=========================================
    ANIMATION
=========================================*/

@keyframes rotateRing{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}

@keyframes floatBadge{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0);

    }

}

/*=========================================
    IMAGE ENTRANCE
=========================================*/

.hero-photo{

    animation:imageFade 1s ease;

}

@keyframes imageFade{

    from{

        opacity:0;

        transform:translateX(60px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}

/*=========================================
    FLOATING SHAPES
=========================================*/

.hero-shape{

    position:absolute;

    border-radius:50%;

    filter:blur(70px);

    opacity:.18;

    z-index:1;

}

.hero-shape.one{

    width:260px;

    height:260px;

    background:#ff6b00;

    top:60px;

    left:-100px;

}

.hero-shape.two{

    width:220px;

    height:220px;

    background:#1e40af;

    right:-60px;

    bottom:100px;

}

.hero-shape.three{

    width:120px;

    height:120px;

    background:#00b894;

    top:40%;

    left:48%;

}


/*=========================================
    TYPING TEXT
=========================================*/

#typing-text{

    min-height:34px;

    color:#1e40af;

    font-weight:700;

    border-right:3px solid #ff6b00;

    display:inline-block;

    padding-right:5px;

    animation:cursorBlink .8s infinite;

}

@keyframes cursorBlink{

0%,100%{

border-color:#ff6b00;

}

50%{

border-color:transparent;

}

}


/*=========================================
    HERO ENTRANCE
=========================================*/

.hero-left{

    animation:leftFade .9s ease;

}

.hero-right{

    animation:rightFade 1s ease;

}

@keyframes leftFade{

from{

opacity:0;

transform:translateX(-60px);

}

to{

opacity:1;

transform:none;

}

}

@keyframes rightFade{

from{

opacity:0;

transform:translateX(60px);

}

to{

opacity:1;

transform:none;

}

}


/*=========================================
    RESPONSIVE
=========================================*/

@media(max-width:1200px){

.hero-grid{

grid-template-columns:1fr 1fr;

gap:40px;

}

.hero-left h1{

font-size:56px;

}

.hero-photo{

width:420px;

height:420px;

}

.hero-photo::after{

width:375px;

height:375px;

}

.hero-photo img{

width:340px;

height:340px;

}

}

@media(max-width:992px){

.hero{

padding:100px 0 60px;

}

.hero-grid{

grid-template-columns:1fr;

text-align:center;

}

.hero-left{

order:2;

max-width:100%;

}

.hero-right{

order:1;

margin-bottom:40px;

}

.hero-buttons{

justify-content:center;

}

.hero-social{

justify-content:center;

}

.hero-photo{

width:360px;

height:360px;

}

.hero-photo::after{

width:320px;

height:320px;

}

.hero-photo img{

width:290px;

height:290px;

}

.experience-card{

left:50%;

transform:translateX(-50%);

bottom:-25px;

}

.hero-badge{

right:50%;

transform:translateX(50%);

}

}

@media(max-width:768px){

.hero-left h1{

font-size:42px;

}

.hero-left h2{

font-size:28px;

}

.hero-left h3{

font-size:18px;

}

.hero-left p{

font-size:16px;

}

.hero-photo{

width:300px;

height:300px;

}

.hero-photo::after{

width:265px;

height:265px;

}

.hero-photo img{

width:240px;

height:240px;

}

.hero-buttons{

flex-direction:column;

align-items:center;

}

.hero-buttons .btn{

width:260px;

}

}

@media(max-width:576px){

.hero{

padding-top:80px;

}

.hero-left h1{

font-size:34px;

}

.hero-left h2{

font-size:22px;

}

.hero-tag{

font-size:14px;

}

.hero-photo{

width:260px;

height:260px;

}

.hero-photo::after{

width:225px;

height:225px;

}

.hero-photo img{

width:205px;

height:205px;

}

.experience-card{

width:180px;

padding:15px;

}

.experience-card h2{

font-size:34px;

}

.hero-badge{

display:none;

}

}