/*====================================================
GOOGLE FONT
====================================================*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*====================================================
ROOT
====================================================*/

:root {

    /* Primary */

    --primary: #F97316;
    --primary-dark: #EA580C;
    --primary-light: #FFF7ED;

    /* Secondary */

    --secondary: #00B8C9;
    --secondary-dark: #0099A8;
    --secondary-light: #EAFDFF;

    /* Text */

    --heading: #111827;
    --text: #4B5563;
    --white: #ffffff;

    /* Background */

    --body: #F7FCFD;
    --section: #ffffff;

    /* Shadows */

    --shadow-sm: 0 8px 20px rgba(0, 0, 0, .05);
    --shadow: 0 20px 60px rgba(0, 0, 0, .08);
    --shadow-lg: 0 35px 80px rgba(0, 0, 0, .15);

    /* Radius */

    --radius: 18px;
    --radius-lg: 28px;

    /* Transition */

    --transition: .35s ease;

}

/*====================================================
RESET
====================================================*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {

    font-family: 'Poppins', sans-serif;
    background: var(--body);
    color: var(--text);
    overflow-x: hidden;
    line-height: 1.7;

}

img {

    max-width: 100%;
    display: block;

}

a {

    text-decoration: none;
    transition: var(--transition);

}

ul {

    list-style: none;

}

.container {

    width: 92%;
    max-width: 1300px;
    margin: auto;

}

/*====================================================
COMMON
====================================================*/

.section {

    padding: 100px 0;
    position: relative;

}

.title {

    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--heading);

}

.title span {

    color: var(--primary);

}

.subtitle {

    font-size: 17px;
    margin-top: 25px;
    line-height: 32px;
    color: var(--text);

}

.btn-primary {

    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 15px 34px;

    background: linear-gradient(135deg, var(--primary), var(--primary-dark));

    border-radius: 60px;

    color: #fff;

    font-weight: 600;

    box-shadow: 0 15px 35px rgba(249, 115, 22, .25);

    margin-top: 35px;

}

.btn-primary:hover {

    transform: translateY(-5px);

    box-shadow: 0 25px 50px rgba(249, 115, 22, .35);

}

/*====================================================
HERO
====================================================*/

.sahas-hero {

    position: relative;

    padding: 40px 0;

    overflow: hidden;

    background:

        linear-gradient(135deg, #fff7ed 0%, #ffffff 55%, #f2fdff 100%);

}

/* Floating Circle */

.sahas-hero::before {

    content: "";

    position: absolute;

    width: 520px;

    height: 520px;

    background: rgba(249, 115, 22, .07);

    border-radius: 50%;

    left: -220px;

    top: -180px;

    animation: float1 8s ease-in-out infinite;

}

/* Bottom Decoration */

.sahas-hero::after {

    content: "";

    position: absolute;

    width: 350px;

    height: 350px;

    background: rgba(0, 184, 201, .08);

    border-radius: 50%;

    right: -120px;

    bottom: -120px;

    animation: float2 10s ease-in-out infinite;

}

/* Grid */

.hero-grid {

    display: grid;

    grid-template-columns: 1fr 500px;

    gap: 70px;

    align-items: center;

    position: relative;

    z-index: 5;

}

/*====================================================
LEFT
====================================================*/

.hero-tag {

    display: inline-block;

    background: var(--primary-light);

    color: var(--primary);

    padding: 8px 18px;

    border-radius: 30px;

    font-size: 14px;

    font-weight: 600;

    margin-bottom: 25px;

}

.hero-highlight {

    color: var(--primary);

}

.hero-content p {

    font-size: 18px;

    line-height: 34px;

    margin-top: 25px;

}

/*====================================================
RIGHT
====================================================*/

.hero-slider {

    position: relative;

    background: rgba(255, 255, 255, .65);

    backdrop-filter: blur(20px);

    border-radius: 30px;

    padding: 45px;

    min-height: 380px;

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, .4);

    box-shadow: var(--shadow-lg);

}

/* Decorative Glow */

.hero-slider::before {

    content: "";

    position: absolute;

    width: 160px;

    height: 160px;

    background: rgba(249, 115, 22, .15);

    border-radius: 50%;

    top: -60px;

    right: -60px;

}

.hero-slider::after {

    content: "";

    position: absolute;

    width: 120px;

    height: 120px;

    background: rgba(0, 184, 201, .15);

    border-radius: 50%;

    bottom: -40px;

    left: -40px;

}

/*====================================================
SLIDES
====================================================*/

.hero-slide {

    display: none;

    animation: fadeSlide .8s;

    position: relative;

    z-index: 5;

}

.hero-slide.active {

    display: block;

}

.hero-icon {

    width: 75px;

    height: 75px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: var(--primary-light);

    margin-bottom: 25px;

}

.hero-icon span {

    font-size: 38px;

    color: var(--primary);

}

.hero-slide h2 {

    font-size: 32px;

    font-weight: 700;

    color: var(--heading);

    margin-bottom: 20px;

}

.hero-slide p {

    font-size: 17px;

    line-height: 32px;

}

/*====================================================
DOTS
====================================================*/

.slider-dots {

    position: absolute;

    bottom: 28px;

    left: 50%;

    transform: translateX(-50%);

    display: flex;

    gap: 12px;

    z-index: 10;

}

.slider-dots span {

    width: 12px;

    height: 12px;

    border-radius: 30px;

    background: #ddd;

    cursor: pointer;

    transition: .35s;

}

.slider-dots span.active {

    width: 35px;

    background: var(--primary);

}

/*====================================================
WAVE
====================================================*/

.hero-wave {

    position: absolute;

    bottom: 0;

    left: 0;

    width: 100%;

    line-height: 0;

}

.hero-wave svg {

    display: block;

    width: 100%;

    height: 90px;

    fill: #fff;

}

/*====================================================
ANIMATION
====================================================*/

@keyframes fadeSlide {

    from {

        opacity: 0;

        transform: translateX(50px);

    }

    to {

        opacity: 1;

        transform: none;

    }

}

@keyframes float1 {

    0%,
    100% {

        transform: translateY(0);

    }

    50% {

        transform: translateY(30px);

    }

}

@keyframes float2 {

    0%,
    100% {

        transform: translateY(0);

    }

    50% {

        transform: translateY(-25px);

    }

}

/*====================================================
RESPONSIVE
====================================================*/

@media(max-width:1100px) {

    .hero-grid {

        grid-template-columns: 1fr;

    }

    .hero-slider {

        margin-top: 40px;

    }

}

@media(max-width:768px) {

    .sahas-hero {

        padding: 80px 0;

    }

    .title {

        font-size: 36px;

    }

    .hero-slider {

        padding: 30px;

        min-height: 350px;

    }

    .hero-slide h2 {

        font-size: 28px;

    }

}

/*====================================================
PART 2
ABOUT COMPANY
WHY CHOOSE SAHAS
====================================================*/

/*====================================================
ABOUT SECTION
====================================================*/

.sahas-about {

    padding: 40px 0;
    background: #fff;
    position: relative;
    overflow: hidden;

}

.sahas-about::before {

    content: "";

    position: absolute;

    right: -120px;

    top: 120px;

    width: 280px;

    height: 280px;

    background: rgba(249, 115, 22, .05);

    border-radius: 50%;

}

.about-grid {

    display: grid;

    grid-template-columns: 500px 1fr;

    gap: 80px;

    align-items: center;

}

/*------------------------------------
Image Area
------------------------------------*/

.about-image {

    position: relative;

}

.about-image img {

    width: 100%;

    border-radius: 30px;

    box-shadow: 0 30px 60px rgba(0, 0, 0, .15);

}

.about-image::before {

    content: "";

    position: absolute;

    width: 180px;

    height: 180px;

    border: 8px solid var(--primary);

    border-radius: 30px;

    left: -25px;

    top: -25px;

    z-index: -1;

}

.about-badge {

    position: absolute;

    right: -20px;

    bottom: 40px;

    background: linear-gradient(135deg, var(--primary), var(--primary-dark));

    padding: 22px 30px;

    border-radius: 22px;

    color: #fff;

    box-shadow: 0 20px 45px rgba(249, 115, 22, .30);

}

.about-badge h2 {

    font-size: 36px;

    font-weight: 700;

    margin-bottom: 5px;

}

.about-badge span {

    font-size: 15px;

}

/*------------------------------------
Content
------------------------------------*/

.about-content .section-tag {

    display: inline-block;

    padding: 8px 20px;

    border-radius: 30px;

    background: var(--primary-light);

    color: var(--primary);

    font-size: 14px;

    font-weight: 600;

    margin-bottom: 20px;

}

.about-content h2 {

    font-size: 44px;

    line-height: 1.2;

    color: var(--heading);

    margin-bottom: 25px;

}

.about-content h2 span {

    color: var(--primary);

}

.about-content p {

    font-size: 17px;

    line-height: 33px;

    margin-bottom: 20px;

}

/*------------------------------------
Timeline
------------------------------------*/

.about-timeline {

    margin-top: 35px;

}

.timeline-item {

    display: flex;

    gap: 20px;

    margin-bottom: 25px;

    align-items: flex-start;

}

.timeline-icon {

    width: 60px;

    height: 60px;

    background: var(--primary-light);

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    transition: .35s;

}

.timeline-icon span {

    font-size: 30px;

    color: var(--primary);

}

.timeline-content h4 {

    font-size: 20px;

    color: var(--heading);

    margin-bottom: 8px;

}

.timeline-content p {

    margin: 0;

    font-size: 15px;

    line-height: 28px;

}

.timeline-item:hover .timeline-icon {

    background: var(--primary);

    transform: rotate(360deg);

}

.timeline-item:hover .timeline-icon span {

    color: #fff;

}

/*====================================================
WHY CHOOSE
====================================================*/

.sahas-why {

    padding: 40px 0;

    background: #F8FCFD;

    position: relative;

}

/* Heading */

.section-heading {

    text-align: center;

    margin-bottom: 70px;

}

.section-heading span {

    display: inline-block;

    padding: 8px 18px;

    background: var(--primary-light);

    color: var(--primary);

    border-radius: 30px;

    font-size: 14px;

    font-weight: 600;

    margin-bottom: 18px;

}

.section-heading h2 {

    font-size: 46px;

    font-weight: 700;

    color: var(--heading);

}

.section-heading h2 strong {

    color: var(--primary);

}

.section-heading p {

    max-width: 760px;

    margin: 18px auto 0;

    font-size: 17px;

    line-height: 30px;

}

/*------------------------------------
Grid
------------------------------------*/

.why-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 35px;

}

/*------------------------------------
Card
------------------------------------*/

.why-card {

    position: relative;

    background: #fff;

    padding: 45px 35px;

    border-radius: 25px;

    overflow: hidden;

    box-shadow: 0 12px 35px rgba(0, 0, 0, .05);

    transition: .4s;

}

.why-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 5px;

    background: linear-gradient(90deg, var(--primary), var(--secondary));

    transform: scaleX(0);

    transition: .4s;

}

.why-card:hover::before {

    transform: scaleX(1);

}

.why-card:hover {

    transform: translateY(-12px);

    box-shadow: 0 30px 60px rgba(0, 0, 0, .12);

}

.why-icon {

    width: 85px;

    height: 85px;

    background: var(--primary-light);

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    margin-bottom: 25px;

    transition: .35s;

}

.why-icon span {

    font-size: 42px;

    color: var(--primary);

}

.why-card:hover .why-icon {

    background: var(--primary);

    transform: rotateY(180deg);

}

.why-card:hover .why-icon span {

    color: #fff;

}

.why-card h3 {

    font-size: 23px;

    margin-bottom: 15px;

    color: var(--heading);

}

.why-card p {

    font-size: 16px;

    line-height: 30px;

}

/*====================================================
Responsive
====================================================*/

@media(max-width:1100px) {

    .about-grid {

        grid-template-columns: 1fr;

    }

    .about-image {

        max-width: 650px;

        margin: auto;

    }

    .why-grid {

        grid-template-columns: repeat(2, 1fr);

    }

}

@media(max-width:768px) {

    .sahas-about,
    .sahas-why {

        padding: 80px 0;

    }

    .about-content h2,
    .section-heading h2 {

        font-size: 34px;

    }

    .about-badge {

        position: relative;

        right: auto;

        bottom: auto;

        margin-top: 20px;

        display: inline-block;

    }

    .why-grid {

        grid-template-columns: 1fr;

    }

}

/*====================================================
PART 3
WHAT WE OFFER
====================================================*/

.sahas-services {

    position: relative;
    padding: 40px 0;
    background: #ffffff;
    overflow: hidden;

}

/* Decorative Background */

.sahas-services::before {

    content: "";

    position: absolute;

    width: 450px;

    height: 450px;

    border-radius: 50%;

    background: rgba(249, 115, 22, .05);

    top: -180px;

    left: -180px;

}

.sahas-services::after {

    content: "";

    position: absolute;

    width: 300px;

    height: 300px;

    border-radius: 50%;

    background: rgba(0, 184, 201, .06);

    right: -120px;

    bottom: -120px;

}

/*----------------------------------------
Heading
----------------------------------------*/

.services-heading {

    text-align: center;

    margin-bottom: 70px;

    position: relative;

    z-index: 2;

}

.services-heading span {

    display: inline-block;

    padding: 8px 18px;

    background: var(--primary-light);

    color: var(--primary);

    border-radius: 40px;

    font-size: 14px;

    font-weight: 600;

    margin-bottom: 18px;

}

.services-heading h2 {

    font-size: 46px;

    font-weight: 700;

    color: var(--heading);

    margin-bottom: 18px;

}

.services-heading h2 strong {

    color: var(--primary);

}

.services-heading p {

    max-width: 760px;

    margin: auto;

    font-size: 17px;

    line-height: 30px;

}

/*----------------------------------------
Grid
----------------------------------------*/

.services-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

    position: relative;

    z-index: 2;

}

/*----------------------------------------
Card
----------------------------------------*/

.service-card {

    position: relative;

    background: #fff;

    border-radius: 25px;

    padding: 35px 25px;

    text-align: center;

    overflow: hidden;

    transition: .4s;

    box-shadow: 0 12px 35px rgba(0, 0, 0, .05);

}

/* Gradient Top */

.service-card::before {

    content: "";

    position: absolute;

    left: 0;

    top: 0;

    height: 5px;

    width: 100%;

    background: linear-gradient(90deg, var(--primary), var(--secondary));

    transform: scaleX(0);

    transition: .4s;

}

.service-card:hover::before {

    transform: scaleX(1);

}

.service-card:hover {

    transform: translateY(-12px);

    box-shadow: 0 30px 60px rgba(0, 0, 0, .12);

}

/*----------------------------------------
Icon
----------------------------------------*/

.service-icon {

    width: 90px;

    height: 90px;

    margin: auto;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: linear-gradient(135deg, var(--primary-light), #fff);

    margin-bottom: 25px;

    transition: .4s;

}

.service-icon span {

    font-size: 42px;

    color: var(--primary);

    transition: .4s;

}

.service-card:hover .service-icon {

    background: linear-gradient(135deg, var(--primary), var(--primary-dark));

    transform: rotateY(180deg);

}

.service-card:hover .service-icon span {

    color: #fff;

}

/*----------------------------------------
Title
----------------------------------------*/

.service-card h3 {

    font-size: 20px;

    font-weight: 600;

    color: var(--heading);

    margin-bottom: 15px;

}

.service-card p {

    font-size: 15px;

    line-height: 28px;

    color: var(--text);

}

/*----------------------------------------
Hover Decoration
----------------------------------------*/

.service-card::after {

    content: "";

    position: absolute;

    width: 140px;

    height: 140px;

    background: rgba(249, 115, 22, .04);

    border-radius: 50%;

    right: -70px;

    bottom: -70px;

    transition: .4s;

}

.service-card:hover::after {

    transform: scale(1.4);

}

/*----------------------------------------
Responsive
----------------------------------------*/

@media(max-width:1200px) {

    .services-grid {

        grid-template-columns: repeat(3, 1fr);

    }

}

@media(max-width:900px) {

    .services-grid {

        grid-template-columns: repeat(2, 1fr);

    }

}

@media(max-width:600px) {

    .sahas-services {

        padding: 80px 0;

    }

    .services-heading h2 {

        font-size: 34px;

    }

    .services-grid {

        grid-template-columns: 1fr;

    }

}
/*====================================================
PART 5
OUR VALUES
====================================================*/


.sahas-values{

padding:120px 0;

background:#fff;

position:relative;

overflow:hidden;

}



.sahas-values::before{

content:"";

position:absolute;

width:350px;

height:350px;

background:rgba(249,115,22,.06);

border-radius:50%;

right:-150px;

top:-100px;

}



.values-heading{

text-align:center;

margin-bottom:70px;

position:relative;

z-index:2;

}



.values-heading span{

display:inline-block;

padding:8px 20px;

background:var(--primary-light);

color:var(--primary);

border-radius:30px;

font-size:14px;

font-weight:600;

margin-bottom:20px;

}



.values-heading h2{

font-size:46px;

color:var(--heading);

font-weight:700;

}



.values-heading h2 strong{

color:var(--primary);

}



.values-heading p{

max-width:750px;

margin:20px auto 0;

font-size:17px;

line-height:32px;

}



/* GRID */


.values-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}



/* CARD */


.value-card{

background:#fff;

padding:35px 25px;

border-radius:25px;

text-align:center;

box-shadow:var(--shadow-sm);

transition:.4s;

position:relative;

overflow:hidden;

}



.value-card::before{

content:"";

position:absolute;

height:5px;

width:100%;

top:0;

left:0;

background:linear-gradient(
90deg,
var(--primary),
var(--secondary)
);

transform:scaleX(0);

transition:.4s;

}



.value-card:hover::before{

transform:scaleX(1);

}



.value-card:hover{

transform:translateY(-12px);

box-shadow:var(--shadow-lg);

}



/* ICON */


.value-icon{

width:90px;

height:90px;

margin:0 auto 25px;

border-radius:50%;

background:var(--primary-light);

display:flex;

align-items:center;

justify-content:center;

transition:.4s;

}



.value-icon span{

font-size:42px;

color:var(--primary);

}



.value-card:hover .value-icon{

background:var(--primary);

transform:rotateY(180deg);

}



.value-card:hover .value-icon span{

color:#fff;

}



.value-card h3{

font-size:22px;

margin-bottom:15px;

color:var(--heading);

}



.value-card p{

font-size:15px;

line-height:28px;

}





/* RESPONSIVE */


@media(max-width:1200px){


.values-grid{

grid-template-columns:repeat(3,1fr);

}


}


@media(max-width:768px){


.values-grid{

grid-template-columns:1fr;

}


.values-heading h2{

font-size:34px;

}


}
/*====================================================
PART 6
CTA + PROMISE
====================================================*/


/*====================================================
CTA
====================================================*/


.sahas-cta{

padding:40px 0;

background:#fff;

}



.cta-box{

position:relative;

overflow:hidden;

background:

linear-gradient(
135deg,
var(--primary),
var(--primary-dark)
);

border-radius:35px;

padding:70px 60px;

text-align:center;

color:#fff;

/*box-shadow: 0 30px 70px rgba(249,115,22,.35);*/

}



.cta-box::before{

content:"";

position:absolute;

width:350px;

height:350px;

border-radius:50%;

background:rgba(255,255,255,.12);

top:-150px;

right:-100px;

}



.cta-box::after{

content:"";

position:absolute;

width:250px;

height:250px;

border-radius:50%;

background:rgba(255,255,255,.08);

bottom:-120px;

left:-80px;

}



.cta-content{

position:relative;

z-index:2;

}



.cta-content span{

display:inline-block;

background:rgba(255,255,255,.18);

padding:8px 20px;

border-radius:30px;

font-size:14px;

margin-bottom:20px;

}

.cta-content span.none{

display:inline-block;

background:transparent;

padding:0px 0px;

border-radius:0px;

font-size:16px;
margin-bottom: 0px;
margin-right: 5px;

}



.cta-content h2{

font-size:48px;

line-height:1.2;

margin-bottom:20px;

}



.cta-content strong{

color:#fff;

}



.cta-content p{

max-width:850px;

margin:auto;

font-size:17px;

line-height:32px;

color:#fff;

}



.cta-content .btn-primary{

background:#fff;

color:var(--primary);

margin-top:35px;

}



.cta-content .btn-primary:hover{

background:#fff7ed;

}






/*====================================================
PROMISE
====================================================*/


.sahas-promise{

padding:40px 0;

background:#F8FCFD;

}



.promise-grid{

display:grid;

grid-template-columns:130px 1fr;

gap:40px;

align-items:center;

}



.promise-icon{

width:110px;

height:110px;

border-radius:50%;

background:var(--primary-light);

display:flex;

align-items:center;

justify-content:center;

}



.promise-icon span{

font-size:55px;

color:var(--primary);

}



.promise-content span{

color:var(--primary);

font-weight:600;

}



.promise-content h2{

font-size:44px;

color:var(--heading);

margin:15px 0;

}



.promise-content strong{

color:var(--primary);

}



.promise-content p{

font-size:17px;

line-height:32px;

margin-bottom:15px;

}





/*====================================================
RESPONSIVE
====================================================*/


@media(max-width:768px){


.cta-box{

padding:50px 25px;

}



.cta-content h2{

font-size:34px;

}



.promise-grid{

grid-template-columns:1fr;

text-align:center;

}



.promise-icon{

margin:auto;

}



.promise-content h2{

font-size:34px;

}


}

.btn-cta-white {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    min-width: 150px;
    border-radius: 50px;
    border: 2px solid #fff;
    background: #fff;
    color: var(--primary);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .3px;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;
    transition: color 0.3s ease, transform 0.3s ease;
    z-index: 1;
    margin-top:30px;
}

.btn-cta-white::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
    z-index: -1;
}

.btn-cta-white:hover::before {
    transform: scaleX(1);
}

.btn-cta-white:hover {
    color: var(--white);
    border: 2px solid var(--white);
    transform: translateY(-2px);
}