/* ==========================================
   OZE INSIGHTS #01
   Premium Corporate Newsletter Experience
========================================== */

:root {

    --primary: #E93CAC;
    --primary-light: #f86bc2;

    --dark: #0B0B0F;
    --dark-soft: #14141A;

    --white: #ffffff;

    --text: #111111;
    --text-light: #6B6B74;

    --border: rgba(0,0,0,.08);

    --radius: 24px;

    --shadow:
        0 20px 50px rgba(0,0,0,.08);

    --transition: all .4s ease;

}

/* ==========================================
   RESET
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;
    color:var(--text);
    background:#fff;

    overflow-x:hidden;
    line-height:1.6;

}

img{

    max-width:100%;
    display:block;

}

a{
    text-decoration:none;
}

section{

    padding:120px 0;

}

.container{

    width:min(1200px,90%);
    margin:auto;

}

/* ==========================================
   TYPOGRAPHY
========================================== */

.section-tag{

    display:inline-block;

    color:var(--primary);

    font-weight:700;
    font-size:.9rem;

    text-transform:uppercase;
    letter-spacing:2px;

    margin-bottom:20px;

}

.section-heading{

    text-align:center;
    margin-bottom:70px;

}

.section-heading h2{

    font-size:clamp(2rem,5vw,4rem);

    line-height:1.1;

    font-weight:800;

    max-width:900px;
    margin:auto;

}

h3{

    font-size:1.3rem;
    font-weight:700;

}

/* ==========================================
   BUTTON
========================================== */

.btn-primary{

    display:inline-flex;

    padding:18px 32px;

    background:var(--primary);

    color:#fff;

    border-radius:999px;

    font-weight:700;

    transition:var(--transition);

}

.btn-primary:hover{

    transform:translateY(-4px);

    background:var(--primary-light);

}

/* ==========================================
   HERO
========================================== */

.hero{

    min-height:100vh;

    background:#06070c;

    position:relative;

    overflow:hidden;

    display:flex;
    align-items:center;

    color:white;

}

.hero .container{

    position:relative;
    z-index:5;

    max-width:1200px;

}

.logo{

    width:95px;

    margin-bottom:50px;

}

.hero-tag{

    display:block;

    color:#E93CAC;

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:.85rem;

    margin-bottom:30px;

}

.hero h1{

    font-size:clamp(4rem,8vw,8rem);

    line-height:.95;

    font-weight:900;

    max-width:1100px;

}

.hero h1 span{

    color:#E93CAC;

}

.hero-description{

    margin-top:40px;

    max-width:700px;

    font-size:1.2rem;

    color:rgba(255,255,255,.75);

    line-height:1.8;

}

.hero-metrics{

    display:flex;

    gap:70px;

    margin-top:60px;

    flex-wrap:wrap;

}

.metric span{

    display:block;

    font-size:3rem;

    font-weight:900;

    color:#E93CAC;

}

.metric small{

    color:rgba(255,255,255,.6);

    text-transform:uppercase;

    letter-spacing:1px;

}

.hero-cta{

    display:inline-flex;

    margin-top:60px;

    padding:18px 36px;

    border-radius:999px;

    background:#E93CAC;

    color:white;

    font-weight:700;

    transition:.4s;

}

.hero-cta:hover{

    transform:translateY(-5px);

}

.hero-glow{

    position:absolute;

    width:700px;
    height:700px;

    right:-200px;
    top:-200px;

    border-radius:50%;

    background:
    radial-gradient(
        rgba(233,60,172,.35),
        transparent 70%
    );

    filter:blur(100px);

    animation:glowMove 8s ease-in-out infinite;

}

.hero-noise{

    position:absolute;

    inset:0;

    opacity:.03;

    background-image:
    radial-gradient(#fff 1px, transparent 1px);

    background-size:30px 30px;

}

.scroll-indicator{

    margin-top:80px;

    width:24px;
    height:45px;

    border:2px solid rgba(255,255,255,.25);

    border-radius:30px;

    position:relative;

}

.scroll-indicator span{

    position:absolute;

    width:4px;
    height:10px;

    background:#E93CAC;

    left:50%;

    transform:translateX(-50%);

    top:8px;

    border-radius:10px;

    animation:scrollDown 2s infinite;

}

@keyframes scrollDown{

    0%{

        opacity:0;
        top:8px;

    }

    50%{

        opacity:1;

    }

    100%{

        opacity:0;
        top:22px;

    }

}

@keyframes glowMove{

    0%{

        transform:translate(0,0);

    }

    50%{

        transform:translate(-80px,80px);

    }

    100%{

        transform:translate(0,0);

    }

}

.hero h1{

    margin-top:20px;

    font-size:clamp(3rem,7vw,6rem);

    line-height:1.05;

    font-weight:900;

    max-width:1000px;

}

.hero h1 span{

    color:var(--primary);

}

.hero-text{

    margin-top:35px;

    max-width:750px;

    font-size:1.2rem;

    color:var(--text-light);

}

.hero .btn-primary{

    margin-top:40px;

}

/* ==========================================
   STATS
========================================== */

.stats-section{

    background:#fafafa;

}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.stat-card{

    background:#fff;

    border-radius:var(--radius);

    padding:40px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.stat-card:hover{

    transform:translateY(-8px);

}

.stat-card span{

    display:block;

    font-size:3rem;

    font-weight:900;

    color:var(--primary);

}

.stat-card p{

    margin-top:10px;

    color:var(--text-light);

}

/* ==========================================
   INSURANCE
========================================== */

.insurance-intro{

    max-width:900px;

    margin:auto;

    text-align:center;

    color:var(--text-light);

    font-size:1.1rem;

}

.insurance-intro p{

    margin-bottom:20px;

}

.insurance-brands{

    display:flex;

    justify-content:center;

    gap:25px;

    margin-top:60px;

    flex-wrap:wrap;

}

.insurance-brand{

    padding:20px 35px;

    border-radius:999px;

    background:#fff;

    border:1px solid var(--border);

    font-weight:700;

    transition:var(--transition);

}

.insurance-brand:hover{

    background:var(--primary);
    color:#fff;

}

.services-grid{

    margin-top:70px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

}

.service-card{

    position:relative;

    padding:40px 30px;

    text-align:center;

    background:#ffffff;

    border-radius:24px;

    border:1px solid rgba(233,60,172,.08);

    overflow:hidden;

    transition:all .45s ease;

    box-shadow:
        0 10px 30px rgba(0,0,0,.04);

}

.service-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:linear-gradient(
        90deg,
        #E93CAC,
        #ff70c7
    );

    transform:scaleX(0);

    transition:.4s;

}

.service-card:hover::before{

    transform:scaleX(1);

}

.service-card:hover{

    transform:
        translateY(-10px);

    box-shadow:
        0 25px 50px rgba(233,60,172,.18);

}

.service-card:hover{

    background:var(--primary);

    color:#fff;

    transform:translateY(-6px);

}

/* ==========================================
   CASE STUDIES
========================================== */

.case-section{

    background:#fafafa;

}

.case-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.case-card{

    position:relative;

    padding:50px 40px;

    border-radius:32px;

    background:#ffffff;

    overflow:hidden;

    border:1px solid rgba(233,60,172,.08);

    transition:all .5s ease;

    box-shadow:
        0 15px 40px rgba(0,0,0,.05);

}

.case-card:hover{

    transform:
        translateY(-15px);

    box-shadow:
        0 30px 70px rgba(233,60,172,.18);

}

.case-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:5px;

    background:
        linear-gradient(
            90deg,
            #E93CAC,
            #ff7ad0
        );

}

/* ==========================================
   CLIENTS
========================================== */

.clients-section{

    overflow:hidden;

}

.logo-slider{

    margin-top:60px;

    overflow:hidden;

}

.logo-track{

    display:flex;

    gap:60px;

    align-items:center;

    animation:scrollLogos 40s linear infinite;

    width:max-content;

}

.logo-track img{

    height:190px;

    width:auto;

    object-fit:contain;

    filter:grayscale(100%);

    opacity:.75;

    transition:all .4s ease;

}

.logo-track img:hover{

    filter:none;

    opacity:1;

}

@keyframes scrollLogos{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}

/* ==========================================
   EXPERTISE
========================================== */

.expertise-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

}

.expertise-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    padding:35px 30px;

    overflow:hidden;

    transition:.45s ease;

    border:1px solid rgba(233,60,172,.08);

    box-shadow:
        0 15px 40px rgba(0,0,0,.05);

}

.expertise-card:hover{

    transform:
        translateY(-12px);

    box-shadow:
        0 30px 70px rgba(233,60,172,.18);

}

/* ==========================================
   INTERNATIONAL
========================================== */

.international-section{

    background:var(--dark);

    color:#fff;

    text-align:center;

}

.international-section h2{

    font-size:clamp(2rem,5vw,4rem);

    margin-bottom:70px;

}

.markets{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.markets div{

    padding:40px;

    border-radius:24px;

    background:rgba(255,255,255,.05);

    backdrop-filter:blur(10px);

}

.markets h3{

    margin-bottom:10px;

}

.markets p{

    opacity:.8;

}

/* ==========================================
   VALUES
========================================== */

.values-section{

    background:#fafafa;

}


.value-card{

    background:#fff;

    padding:40px;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

}

.value-card h3{

    margin-bottom:15px;

}

/* ==========================================
   CONTACT
========================================== */

.contact-section{

    background:var(--dark);

    color:#fff;

    text-align:center;

}

.contact-section h2{

    font-size:clamp(2rem,5vw,4rem);

    margin:20px 0;

}

.contact-section p{

    max-width:700px;

    margin:auto;

    opacity:.8;

}

.newsletter-form{

    margin-top:50px;

    display:flex;

    justify-content:center;

    gap:15px;

}

.newsletter-form input{

    width:500px;

    max-width:100%;

    padding:20px;

    border:none;

    border-radius:999px;

    font-size:1rem;

}

.newsletter-form button{

    border:none;

    padding:20px 35px;

    border-radius:999px;

    cursor:pointer;

    background:var(--primary);

    color:#fff;

    font-weight:700;

    transition:var(--transition);

}

.newsletter-form button:hover{

    background:var(--primary-light);

}

/* ==========================================
   FOOTER
========================================== */

footer{

    background:#050507;

    color:#fff;

    text-align:center;

    padding:50px 20px;

}

footer img{

    width:120px;

    margin:auto auto 20px;

}

footer p{

    margin-bottom:10px;

}

footer a{

    color:var(--primary);

}

/* ==========================================
   ANIMATIONS
========================================== */

.reveal{

    opacity:0;
    transform:translateY(50px);

    transition:.8s ease;

}

.reveal.active{

    opacity:1;
    transform:translateY(0);

}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:992px){

    .stats-grid,
    .services-grid,
    .case-grid,
    .expertise-grid,
    .markets,
    .values-section .container{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    section{

        padding:90px 0;

    }

    .hero{

        min-height:auto;
        padding:120px 0;

    }

    .stats-grid,
    .services-grid,
    .case-grid,
    .expertise-grid,
    .markets,
    .values-section .container{

        grid-template-columns:1fr;

    }

    .newsletter-form{

        flex-direction:column;

        align-items:center;

    }

    .newsletter-form input{

        width:100%;

    }

    .hero h1{

        font-size:3rem;

    }

}


.notification{

    position:fixed;
    top:30px;
    right:30px;

    padding:18px 25px;

    border-radius:14px;

    color:#fff;

    font-weight:600;

    z-index:9999;

    transform:translateY(-20px);
    opacity:0;

    transition:.4s ease;

}

.notification.show{

    opacity:1;
    transform:translateY(0);

}

.notification.success{

    background:#16a34a;

}

.notification.error{

    background:#dc2626;

}


.service-icon{

    width:70px;
    height:70px;

    margin:auto auto 20px;

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:30px;

    background:
        linear-gradient(
            135deg,
            rgba(233,60,172,.12),
            rgba(233,60,172,.04)
        );

    transition:.4s;

}

.service-card:hover .service-icon{

    transform:scale(1.1);

}

.service-card h4{

    font-size:1.2rem;

    margin-bottom:12px;

    font-weight:700;

}

.service-card p{

    font-size:.95rem;

    line-height:1.7;

    color:#6B6B74;

}

.insurance-section{

    position:relative;

    overflow:hidden;

}


.insurance-section::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    top:-150px;
    right:-150px;

    border-radius:50%;

    background:
        radial-gradient(
            rgba(233,60,172,.08),
            transparent 70%
        );

    pointer-events:none;

}


.case-number{

    position:absolute;

    top:25px;
    right:25px;

    font-size:4rem;

    font-weight:900;

    color:rgba(233,60,172,.08);

}

.case-icon{

    width:85px;
    height:85px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:24px;

    margin-bottom:30px;

    font-size:36px;

    background:
        linear-gradient(
            135deg,
            rgba(233,60,172,.12),
            rgba(233,60,172,.03)
        );

}

.case-card h3{

    margin-bottom:18px;

    font-size:1.5rem;

}

.case-card p{

    color:#6B6B74;

    line-height:1.8;

}


.case-section{

    position:relative;

    overflow:hidden;

    background:#fafafa;

}


.case-section::before{

    content:"";

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;

    top:-250px;
    left:-250px;

    background:
        radial-gradient(
            rgba(233,60,172,.08),
            transparent 70%
        );

}


.sector-icon{

    width:70px;
    height:70px;

    margin-bottom:25px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:20px;

    font-size:30px;

    background:
        linear-gradient(
            135deg,
            rgba(233,60,172,.15),
            rgba(233,60,172,.03)
        );

}

.expertise-card h3{

    font-size:1.35rem;

    margin-bottom:12px;

}

.expertise-card p{

    color:#6B6B74;

    line-height:1.7;

    font-size:.95rem;

}


.expertise-intro{

    max-width:850px;

    margin:25px auto 70px;

    text-align:center;

    color:#6B6B74;

    font-size:1.1rem;

    line-height:1.9;

}


/* ==========================================
   INTERNATIONAL PREMIUM
========================================== */

.international-intro{

    max-width:850px;

    margin:30px auto 70px;

    text-align:center;

    font-size:1.1rem;

    line-height:1.9;

    color:rgba(255,255,255,.75);

}

.world-map-container{

    position:relative;

    max-width:1000px;

    margin:0 auto 100px;

}

.world-map{

    width:100%;

    opacity:.12;

    filter:brightness(2);

}

.glow-circle{

    position:absolute;

    top:50%;
    left:50%;

    width:500px;
    height:500px;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:
        radial-gradient(
            rgba(233,60,172,.25),
            transparent 70%
        );

    filter:blur(80px);

    animation:glowPulse 6s infinite ease-in-out;

}

.location{

    position:absolute;

    z-index:5;

}

.location span{

    display:block;

    margin-top:12px;

    color:white;

    font-weight:700;

}

.tunisia{

    top:47%;
    left:48%;

}

.africa{

    top:58%;
    left:38%;

}

.europe{

    top:42%;
    left:58%;

}

.pulse{

    width:16px;
    height:16px;

    border-radius:50%;

    background:#E93CAC;

    animation:pulseNode 2s infinite;

}

.markets-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-bottom:80px;

}

.market-card{

    padding:40px;

    border-radius:30px;

    background:rgba(255,255,255,.05);

    backdrop-filter:blur(15px);

    transition:.4s;

}

.market-card:hover{

    transform:translateY(-12px);

    background:rgba(255,255,255,.08);

}

.market-icon{

    font-size:3rem;

    margin-bottom:20px;

}

.market-card h3{

    margin-bottom:15px;

}

.market-card p{

    color:rgba(255,255,255,.75);

    line-height:1.8;

}

.impact-stats{

    display:flex;

    justify-content:center;

    gap:100px;

    flex-wrap:wrap;

}

.impact-item{

    text-align:center;

}

.impact-item span{

    display:block;

    font-size:3rem;

    font-weight:900;

    color:#E93CAC;

}

.impact-item p{

    color:rgba(255,255,255,.7);

}

@keyframes pulseNode{

    0%{

        box-shadow:
        0 0 0 0 rgba(233,60,172,.7);

    }

    70%{

        box-shadow:
        0 0 0 20px rgba(233,60,172,0);

    }

    100%{

        box-shadow:
        0 0 0 0 rgba(233,60,172,0);

    }

}

@keyframes glowPulse{

    0%{

        transform:
        translate(-50%,-50%)
        scale(1);

    }

    50%{

        transform:
        translate(-50%,-50%)
        scale(1.15);

    }

    100%{

        transform:
        translate(-50%,-50%)
        scale(1);

    }

}

@media(max-width:768px){

    .markets-grid{

        grid-template-columns:1fr;

    }

    .impact-stats{

        gap:40px;

    }

}


.values-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:70px;

}

.values-intro{

    max-width:850px;

    margin:30px auto 0;

    text-align:center;

    color:#6B6B74;

    font-size:1.1rem;

    line-height:1.9;

}

.value-card{

    position:relative;

    background:#fff;

    padding:45px 35px;

    border-radius:30px;

    overflow:hidden;

    transition:.45s ease;

    border:1px solid rgba(233,60,172,.08);

    box-shadow:
        0 15px 40px rgba(0,0,0,.05);

}

.value-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:
        linear-gradient(
            90deg,
            #E93CAC,
            #ff7ad0
        );

}

.value-card:hover{

    transform:
        translateY(-15px);

    box-shadow:
        0 30px 80px rgba(233,60,172,.18);

}

.value-number{

    position:absolute;

    top:20px;
    right:25px;

    font-size:4rem;

    font-weight:900;

    color:rgba(233,60,172,.08);

}

.value-icon{

    width:75px;
    height:75px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:20px;

    font-size:32px;

    margin-bottom:25px;

    background:
        linear-gradient(
            135deg,
            rgba(233,60,172,.12),
            rgba(233,60,172,.03)
        );

}

.value-card h3{

    margin-bottom:15px;

    font-size:1.4rem;

}

.value-card p{

    color:#6B6B74;

    line-height:1.8;

}

.values-highlight{

    margin-top:100px;

    background:
        linear-gradient(
            135deg,
            #0B0B0F,
            #171722
        );

    border-radius:40px;

    padding:80px;

    text-align:center;

    position:relative;

    overflow:hidden;

}

.values-highlight::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    top:-250px;
    right:-200px;

    border-radius:50%;

    background:
        radial-gradient(
            rgba(233,60,172,.25),
            transparent 70%
        );

}

.highlight-tag{

    color:#E93CAC;

    font-weight:700;

    letter-spacing:2px;

    font-size:.85rem;

}

.values-highlight h3{

    color:#fff;

    margin-top:25px;

    font-size:1.5rem;

}

.values-highlight h2{

    color:#fff;

    margin-top:20px;

    max-width:850px;

    margin-left:auto;
    margin-right:auto;

    font-size:clamp(2rem,4vw,3.5rem);

    line-height:1.2;

}

@media(max-width:992px){

    .values-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .values-grid{

        grid-template-columns:1fr;

    }

    .values-highlight{

        padding:50px 30px;

    }

}


.values-header{

    text-align:center;

    max-width:850px;

    margin:auto auto 70px;

}

.values-header p{

    margin-top:25px;

    color:#6B6B74;

    line-height:1.9;

}

.values-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.value-card{

    background:#fff;

    border-radius:24px;

    padding:40px 30px;

    transition:.4s;

    box-shadow:
        0 10px 30px rgba(0,0,0,.05);

}

.value-card:hover{

    transform:translateY(-10px);

    box-shadow:
        0 25px 50px rgba(233,60,172,.15);

}

.value-icon{

    width:70px;
    height:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    font-size:30px;

    margin-bottom:20px;

    background:
    linear-gradient(
        135deg,
        rgba(233,60,172,.15),
        rgba(233,60,172,.03)
    );

}

.value-card h3{

    margin-bottom:15px;

}

.value-card p{

    color:#6B6B74;

}

@media(max-width:992px){

    .values-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .values-grid{

        grid-template-columns:1fr;

    }

}