/* =========================================================
   KARIA HEALTH — GLOBAL STYLES
   Design system: light, clean, medical/premium
   ========================================================= */

/* ---------- ROOT VARIABLES ---------- */
:root{
    --bg:#f6f8fc;
    --bg-soft:#eef3f9;
    --text:#111418;
    --muted:#5c6470;
    --border:#e6eaf2;
    --accent:#25D366;
    --accent-dark:#1ea854;
    --dark:#0b1220;
    --radius:16px;
    --radius-sm:10px;
    --shadow:0 15px 40px rgba(0,0,0,0.08);
    --font:'Poppins', Arial, sans-serif;
}

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:var(--font);
    background:var(--bg);
    color:var(--text);
    overflow-x:hidden;
    line-height:1.6;
}

a{
    text-decoration:none;
    color:inherit;
}

img{
    max-width:100%;
    display:block;
}

h1,h2,h3{
    line-height:1.25;
    font-weight:600;
}

.container{
    width:100%;
    max-width:1200px;
    margin:auto;
    padding:0 20px;
}

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

.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    background:rgba(11,18,32,0.35);
    backdrop-filter:blur(14px);
    transition:background 0.35s ease, box-shadow 0.35s ease;
}

.header.scrolled{
    background:rgba(11,18,32,0.85);
    box-shadow:0 10px 30px rgba(0,0,0,0.15);
}

.header .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 20px;
}

.logo img{
    height:42px;
    width:auto;
    display:block;
    border-radius:8px;
}

/* ---------- NAV ---------- */

nav{
    display:flex;
    align-items:center;
    gap:12px;
}

nav > a,
.drop-btn{
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.15);
    color:#fff;

    height:42px;
    padding:0 16px;
    display:flex;
    align-items:center;
    gap:8px;

    border-radius:var(--radius-sm);
    cursor:pointer;
    font-size:14px;
    font-family:var(--font);
    transition:0.25s;
}

nav > a:hover,
.drop-btn:hover{
    background:#fff;
    color:#111;
    border-color:#fff;
}

/* ---------- DROPDOWNS ---------- */

.dropdown{
    position:relative;
    display:flex;
    align-items:center;
}

/* invisible bridge so hover doesn't drop between button and menu */
.dropdown::after{
    content:"";
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    height:12px;
}

.menu{
    position:absolute;
    top:calc(100% + 8px);
    right:0;

    min-width:230px;
    background:rgba(10,14,22,0.97);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:var(--radius-sm);

    display:flex;
    flex-direction:column;

    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:0.2s ease;

    z-index:9999;
    pointer-events:none;
}

.dropdown:hover .menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}

.menu a{
    padding:12px 16px;
    color:#fff;
    display:flex;
    align-items:center;
    gap:10px;
    font-size:14px;
}

.menu a:hover{
    background:rgba(255,255,255,0.08);
}

/* ---------- BURGER (mobile) ---------- */

.burger{
    display:none;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    z-index:1100;
}

.burger span{
    width:25px;
    height:2px;
    background:#fff;
    border-radius:2px;
}

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

.hero{
    width:100vw;
    height:100vh;
    position:relative;
    overflow:hidden;
    margin:0;
    padding:0;
}

.slider,
.slides{
    width:100%;
    height:100%;
}

.slides{
    display:flex;
    transition:transform 0.7s ease;
}

.slide{
    min-width:100%;
    height:100vh;
    background-size:cover;
    background-position:center;
    position:relative;
}

.slide::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0.15), rgba(0,0,0,0.55));
}

.hero-content{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
    max-width:800px;
    padding:0 20px;
    color:#fff;
    z-index:2;
}

.hero-content h1{
    font-size:clamp(36px, 6vw, 64px);
    margin-bottom:14px;
}

.hero-content p{
    font-size:18px;
    opacity:0.9;
}

.prev,.next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(0,0,0,0.35);
    border:none;
    color:#fff;
    width:44px;
    height:44px;
    border-radius:50%;
    cursor:pointer;
    z-index:3;
    font-size:16px;
    transition:0.25s;
}

.prev:hover,.next:hover{
    background:rgba(0,0,0,0.6);
}

.prev{left:20px;}
.next{right:20px;}

.dots{
    position:absolute;
    bottom:24px;
    width:100%;
    text-align:center;
    z-index:3;
}

.dots span{
    display:inline-block;
    width:9px;
    height:9px;
    margin:5px;
    border-radius:50%;
    background:#fff;
    opacity:0.4;
    cursor:pointer;
    transition:0.25s;
}

.dots .active{
    opacity:1;
    transform:scale(1.2);
}

/* =========================================================
   SECTIONS (generic)
   ========================================================= */

section{
    padding:110px 8%;
    background:var(--bg);
}

section:nth-of-type(even){
    background:var(--bg-soft);
}

.divider{
    height:2px;
    width:42%;
    margin:0 auto;
    background:linear-gradient(
        to right,
        transparent,
        rgba(15,42,77,0.35),
        rgba(15,42,77,0.9),
        rgba(15,42,77,0.35),
        transparent
    );
}

/* ---------- SERVICES ---------- */

.services h2{
    text-align:center;
    font-size:clamp(28px, 4vw, 42px);
    margin-bottom:60px;
}

.cards{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:30px;
}

.card{
    flex:1 1 260px;
    max-width:270px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow:hidden;
    transition:0.3s;
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow);
}

.card img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.card h3{
    padding:20px 20px 8px;
    font-size:19px;
}

.card p{
    padding:0 20px 25px;
    color:var(--muted);
    font-size:14.5px;
}


/* ---------- WHATSAPP FLOAT ---------- */

.whatsapp-float{
    position:fixed;
    bottom:25px;
    right:25px;
    width:55px;
    height:55px;
    background:var(--accent);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:22px;
    z-index:999;
    box-shadow:0 10px 25px rgba(37,211,102,0.45);
    transition:0.25s;
}

.whatsapp-float:hover{
    transform:scale(1.08);
}

/* ---------- REVEAL ANIMATION ---------- */

.reveal{
    opacity:0;
    transform:translateY(40px);
    transition:1s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}

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

@media (max-width:768px){

    .burger{
        display:flex;
    }

    nav{
        position:fixed;
        top:0;
        right:-100%;
        width:80%;
        max-width:320px;
        height:100vh;

        display:flex;
        flex-direction:column;
        gap:12px;

        padding:100px 20px 40px;

        background:rgba(8,10,16,0.98);
        z-index:1000;

        overflow-y:auto;
        transition:right 0.35s ease;
    }

    nav.active{
        right:0;
    }

    nav > a,
    .drop-btn{
        width:100%;
        justify-content:flex-start;
    }

    .dropdown{
        width:100%;
        display:block;
    }

    .menu{
        display:none;
        position:static;
        width:100%;
        background:rgba(255,255,255,0.05);
        border-radius:var(--radius-sm);
        transform:none;
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        margin-top:6px;
    }

    .dropdown.active .menu{
        display:block;
    }

    section{
        padding:80px 6%;
    }
}

/* =========================================================
   TRUST BLOCK (replaces old photo section)
   ========================================================= */

.trust{
    text-align:center;
}

.trust-intro h2{
    font-size:clamp(26px, 4vw, 36px);
    margin-bottom:12px;
}

.trust-intro p{
    color:var(--muted);
    max-width:620px;
    margin:0 auto 50px;
    font-size:15px;
}

.trust-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:20px;
    text-align:left;
}

.trust-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:26px;
    display:flex;
    gap:16px;
    align-items:flex-start;
    transition:0.3s;
}

.trust-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow);
}

.trust-card i{
    font-size:22px;
    color:var(--accent-dark);
    margin-top:2px;
    flex-shrink:0;
}

.trust-card h3{
    font-size:16px;
    margin-bottom:6px;
}

.trust-card p{
    font-size:13.5px;
    color:var(--muted);
}

/* =========================================================
   JOURNEY / PROCESS STEPS
   ========================================================= */

.journey{
    text-align:center;
}

.journey h2{
    font-size:clamp(26px, 4vw, 36px);
    margin-bottom:12px;
}

.journey > p{
    color:var(--muted);
    max-width:620px;
    margin:0 auto 50px;
    font-size:15px;
}

.journey-steps{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:24px;
}

.journey-step{
    flex:1 1 220px;
    max-width:260px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:32px 24px;
    transition:0.3s;
}

.journey-step:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow);
}

.journey-step span{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--dark);
    color:#fff;
    font-weight:600;
    font-size:14px;
    margin:0 auto 18px;
}

.journey-step h3{
    font-size:16px;
    margin-bottom:8px;
}

.journey-step p{
    font-size:13.5px;
    color:var(--muted);
    line-height:1.7;
}

/* =========================================================
   CTA + FOOTER (merged into one dark block)
   ========================================================= */

.cta-footer{
    background:var(--dark);
    color:#fff;
    padding:120px 8% 0;
    position:relative;
    overflow:hidden;
}

.cta-footer::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at center, rgba(255,255,255,0.06), transparent 65%);
    pointer-events:none;
}

.cta-inner{
    position:relative;
    z-index:2;
    text-align:center;
    padding-bottom:80px;
}

.cta-inner h2{
    font-size:clamp(26px, 4vw, 40px);
    margin-bottom:14px;
}

.cta-inner p{
    opacity:0.85;
    margin-bottom:30px;
}

.cta-btn{
    display:inline-block;
    padding:16px 34px;
    background:var(--accent);
    color:#fff;
    border-radius:var(--radius-sm);
    font-weight:600;
    transition:0.3s;
}

.cta-btn:hover{
    background:var(--accent-dark);
    transform:translateY(-3px);
    box-shadow:0 20px 40px rgba(0,0,0,0.35);
}

.footer-inner{
    position:relative;
    z-index:2;
    border-top:1px solid rgba(255,255,255,0.1);
    padding:50px 0 30px;
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:30px;
}

.footer-col h4{
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:rgba(255,255,255,0.5);
    margin-bottom:14px;
    font-weight:600;
}

.footer-col p{
    font-size:14px;
    color:rgba(255,255,255,0.55);
    line-height:1.7;
}

.footer-col.brand p{
    max-width:280px;
}

.footer-links{
    list-style:none;
}

.footer-links li{
    margin-bottom:10px;
}

.footer-links a{
    font-size:14px;
    color:rgba(255,255,255,0.75);
    transition:0.2s;
}

.footer-links a:hover{
    color:var(--accent);
}

.footer-socials-row{
    display:flex;
    gap:12px;
    margin-top:16px;
}

.footer-socials-row a{
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(255,255,255,0.08);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    transition:0.25s;
}

.footer-socials-row a:hover{
    background:var(--accent);
}

.footer-bottom{
    position:relative;
    z-index:2;
    border-top:1px solid rgba(255,255,255,0.08);
    padding:20px 0;
    text-align:center;
}

.footer-bottom p{
    font-size:12.5px;
    color:rgba(255,255,255,0.4);
}

@media (max-width:768px){

    .trust-grid{
        grid-template-columns:1fr;
    }

    .cta-footer{
        padding:90px 6% 0;
    }

    .footer-inner{
        grid-template-columns:1fr;
        gap:30px;
        text-align:center;
    }

    .footer-col.brand p{
        margin:0 auto;
    }

    .footer-socials-row{
        justify-content:center;
    }
}

/* =========================================================
   SERVICE PAGES — shared components
   (used by dental / hair-transplant / plastic-surgery / transfer)
   ========================================================= */

/* ---------- SERVICE HERO (static image, not slider) ---------- */

.service-hero{
    position:relative;
    height:70vh;
    min-height:520px;
    display:flex;
    align-items:center;
    justify-content:center;
    background-size:cover;
    background-position:center;
    overflow:hidden;
    margin-top:0;
    padding-top:90px;
}

.service-hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(6,10,18,0.45), rgba(6,10,18,0.78));
}

.service-hero-content{
    position:relative;
    z-index:2;
    text-align:center;
    max-width:760px;
    padding:0 20px;
    color:#fff;
}

.badge{
    display:inline-block;
    padding:8px 18px;
    background:rgba(255,255,255,0.15);
    border:1px solid rgba(255,255,255,0.3);
    border-radius:50px;
    font-size:13px;
    margin-bottom:18px;
}

.service-hero-content h1{
    font-size:clamp(32px, 5vw, 52px);
    margin-bottom:14px;
}

.service-hero-content p{
    font-size:16px;
    opacity:0.92;
    margin-bottom:28px;
}

.hero-btns{
    display:flex;
    gap:16px;
    justify-content:center;
    flex-wrap:wrap;
}

.btn-outline{
    display:inline-block;
    padding:14px 28px;
    border:1px solid rgba(255,255,255,0.4);
    color:#fff;
    border-radius:var(--radius-sm);
    font-weight:600;
    transition:0.3s;
}

.btn-outline:hover{
    background:#fff;
    color:#111;
}

/* ---------- ICON CARD GRID (treatments list, benefits) ---------- */

.icon-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
}

.icon-card{
    flex:1 1 260px;
    max-width:290px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:26px;
    display:flex;
    gap:16px;
    align-items:flex-start;
    transition:0.3s;
}

.icon-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow);
}

.icon-card i{
    font-size:22px;
    color:var(--accent-dark);
    margin-top:2px;
    flex-shrink:0;
}

.icon-card h3{
    font-size:16px;
    margin-bottom:6px;
}

.icon-card p{
    font-size:13.5px;
    color:var(--muted);
}

/* ---------- SPLIT (image + text, e.g. "About") ---------- */

.split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center;
}

.split img{
    width:100%;
    height:100%;
    max-height:420px;
    border-radius:var(--radius);
    object-fit:cover;
}

.split h2{
    font-size:clamp(26px, 4vw, 36px);
    margin-bottom:16px;
}

.split p{
    color:var(--muted);
    margin-bottom:16px;
    line-height:1.8;
}

/* ---------- PRICING (price on request) ---------- */

.pricing-box{
    max-width:640px;
    margin:0 auto;
    text-align:center;
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:50px 40px;
    position:relative;
}

.pricing-box::before{
    content:"\f0d6";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    margin:0 auto 20px;
    border-radius:50%;
    background:var(--bg-soft);
    color:var(--accent-dark);
    font-size:22px;
}

.pricing-box h2{
    font-size:clamp(24px, 4vw, 32px);
    margin-bottom:14px;
}

.pricing-box p{
    color:var(--muted);
    margin-bottom:28px;
    line-height:1.8;
}

/* ---------- FAQ ---------- */

.faq-item{
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    padding:24px 26px;
    margin-bottom:16px;
    max-width:820px;
    margin-left:auto;
    margin-right:auto;
}

.faq-item h3{
    font-size:15.5px;
    margin-bottom:8px;
}

.faq-item p{
    font-size:14px;
    color:var(--muted);
    line-height:1.7;
}

/* ---------- Section heading helper ---------- */

.section-head{
    text-align:center;
    max-width:640px;
    margin:0 auto 50px;
}

.section-head h2{
    font-size:clamp(26px, 4vw, 36px);
    margin-bottom:12px;
}

.section-head p{
    color:var(--muted);
    font-size:15px;
}

@media (max-width:768px){

    .service-hero{
        height:auto;
        min-height:560px;
        padding-top:100px;
        padding-bottom:40px;
    }

    .split{
        grid-template-columns:1fr;
    }

    .split img{
        max-height:280px;
        order:-1;
    }

    .pricing-box{
        padding:36px 24px;
    }
}

/* =========================================================
   FAQ ACCORDION (native <details>/<summary>)
   ========================================================= */

.faq-item{
    cursor:pointer;
}

.faq-item summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    font-size:15.5px;
    font-weight:500;
    color:var(--text);
    list-style:none;
}

.faq-item summary::-webkit-details-marker{
    display:none;
}

.faq-item summary::after{
    content:"\002B";
    font-size:20px;
    color:var(--muted);
    flex-shrink:0;
    transition:transform 0.25s ease;
}

.faq-item[open] summary::after{
    transform:rotate(45deg);
}

.faq-item p{
    font-size:14px;
    color:var(--muted);
    line-height:1.7;
    margin-top:14px;
}

/* =========================================================
   RELATED SERVICES ("Combine Your Treatment")
   ========================================================= */

.related-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:16px;
    margin-top:24px;
}

.related-links a{
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:16px 26px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    font-size:14.5px;
    font-weight:500;
    box-shadow:0 6px 20px rgba(0,0,0,0.04);
    transition:0.3s;
}

.related-links a i{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--bg-soft);
    color:var(--accent-dark);
    font-size:14px;
    flex-shrink:0;
}

.related-links a:hover{
    background:var(--dark);
    color:#fff;
    border-color:var(--dark);
    transform:translateY(-3px);
    box-shadow:0 15px 30px rgba(0,0,0,0.15);
}

.related-links a:hover i{
    background:rgba(255,255,255,0.15);
    color:var(--accent);
}

/* =========================================================
   PRICING & RELATED SECTIONS — add visual depth
   (targets the parent <section> automatically, no HTML changes needed)
   ========================================================= */

section:has(.pricing-box),
section:has(.related-links){
    position:relative;
    overflow:hidden;
    background:linear-gradient(160deg, var(--bg-soft) 0%, var(--bg) 60%);
}

section:has(.pricing-box)::before,
section:has(.related-links)::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-100px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(37,211,102,0.14), transparent 70%);
    pointer-events:none;
}

section:has(.pricing-box)::after,
section:has(.related-links)::after{
    content:"";
    position:absolute;
    bottom:-140px;
    left:-100px;
    width:280px;
    height:280px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(11,18,32,0.07), transparent 70%);
    pointer-events:none;
}

.pricing-box{
    position:relative;
    z-index:2;
    box-shadow:0 25px 60px rgba(15,25,45,0.08);
    border-top:3px solid var(--accent);
}

.related{
    position:relative;
    z-index:2;
}

/* =========================================================
   "LIVELINESS" PASS — depth, texture, organic feel
   Applies globally via existing shared classes (no HTML edits)
   ========================================================= */

/* ---------- ICON BADGES (circle background instead of bare glyph) ---------- */

.icon-card i,
.trust-card i{
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    min-width:46px;
    border-radius:50%;
    background:var(--bg-soft);
    font-size:18px !important;
    margin-top:0 !important;
    transition:0.3s;
}

.icon-card:hover i,
.trust-card:hover i{
    background:var(--accent);
    color:#fff !important;
    transform:scale(1.08) rotate(-6deg);
}

/* ---------- ORGANIC CARD TILT (breaks the rigid grid feel) ---------- */

.icon-card:nth-child(3n+1){ transform:rotate(-0.6deg); }
.icon-card:nth-child(3n+2){ transform:rotate(0.5deg); }
.icon-card:nth-child(3n+3){ transform:rotate(-0.3deg); }

.trust-card:nth-child(odd){ transform:rotate(-0.5deg); }
.trust-card:nth-child(even){ transform:rotate(0.5deg); }

.icon-card:hover,
.trust-card:hover{
    transform:translateY(-6px) rotate(0deg) !important;
}

/* ---------- SECTION HEADING ACCENT ---------- */

.section-head::before,
.trust-intro::before,
.journey > p::before{
    content:"";
    display:block;
    width:46px;
    height:4px;
    border-radius:4px;
    background:var(--accent);
    margin:0 auto 18px;
}

.journey h2{
    position:relative;
}

/* ---------- SOFT SECTION TEXTURE (dot grid, subtle) ---------- */

section:nth-of-type(even){
    background-color:var(--bg-soft);
    background-image:radial-gradient(rgba(15,25,45,0.06) 1.2px, transparent 1.2px);
    background-size:22px 22px;
}

/* ---------- RICHER HOVER GLOW ON CARDS ---------- */

.card:hover{
    box-shadow:0 25px 50px rgba(15,25,45,0.12), 0 0 0 1px rgba(37,211,102,0.15);
}

.icon-card:hover,
.trust-card:hover,
.journey-step:hover{
    box-shadow:0 20px 40px rgba(15,25,45,0.1), 0 0 0 1px rgba(37,211,102,0.12);
}

/* ---------- JOURNEY STEP NUMBER — gradient ring instead of flat fill ---------- */

.journey-step span{
    background:linear-gradient(135deg, var(--dark), #1c2b45);
    box-shadow:0 6px 16px rgba(11,18,32,0.35);
}

.journey-step:hover span{
    background:linear-gradient(135deg, var(--accent-dark), var(--accent));
    transform:scale(1.08);
}

@media (max-width:768px){
    .icon-card:nth-child(3n+1),
    .icon-card:nth-child(3n+2),
    .icon-card:nth-child(3n+3),
    .trust-card:nth-child(odd),
    .trust-card:nth-child(even){
        transform:none;
    }
}

/* =========================================================
   EXTRA POLISH — micro-interactions, scroll fix, scrollbar
   ========================================================= */

/* ---------- Fix anchor scroll landing under the fixed header ---------- */

[id]{
    scroll-margin-top:100px;
}

/* ---------- Idle pulse on icon badges (box-shadow only, no transform conflict) ---------- */

@keyframes iconPulse{
    0%, 100%{ box-shadow:0 0 0 0 rgba(37,211,102,0.22); }
    50%{ box-shadow:0 0 0 7px rgba(37,211,102,0); }
}

.icon-card i,
.trust-card i{
    animation:iconPulse 3.2s ease-in-out infinite;
}

.icon-card:nth-child(3n+2) i,
.trust-card:nth-child(even) i{
    animation-delay:0.6s;
}

.icon-card:nth-child(3n+3) i{
    animation-delay:1.2s;
}

/* ---------- CTA button shine sweep on hover ---------- */

.cta-btn{
    position:relative;
    overflow:hidden;
}

.cta-btn::before{
    content:"";
    position:absolute;
    top:0;
    left:-60%;
    width:40%;
    height:100%;
    background:linear-gradient(115deg, transparent, rgba(255,255,255,0.35), transparent);
    transform:skewX(-20deg);
    transition:left 0.6s ease;
}

.cta-btn:hover::before{
    left:130%;
}

/* ---------- Custom scrollbar ---------- */

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:var(--bg);
}

::-webkit-scrollbar-thumb{
    background:var(--dark);
    border-radius:10px;
}

::-webkit-scrollbar-thumb:hover{
    background:var(--accent-dark);
}

/* =========================================================
   AMBIENT COLOR & DEPTH — visible on scroll, no hover needed
   ========================================================= */

/* ---------- Icons: permanent color tint, not just on hover ---------- */

.icon-card i,
.trust-card i{
    background:rgba(37,211,102,0.12);
    color:var(--accent-dark);
}

.icon-card:nth-child(4n+2) i,
.trust-card:nth-child(4n+2) i{
    background:rgba(11,18,32,0.08);
    color:var(--dark);
}

.icon-card:nth-child(4n+3) i,
.trust-card:nth-child(4n+3) i{
    background:rgba(30,168,84,0.14);
    color:var(--accent-dark);
}

/* ---------- Cards: colored top border always visible, not just hover ---------- */

.icon-card,
.trust-card{
    border-top:3px solid var(--accent);
}

.icon-card:nth-child(4n+2),
.trust-card:nth-child(4n+2){
    border-top-color:var(--dark);
}

.icon-card:nth-child(4n+3),
.trust-card:nth-child(4n+3){
    border-top-color:#1ea854;
}

.icon-card:nth-child(4n+4),
.trust-card:nth-child(4n+4){
    border-top-color:#0f2a4d;
}

/* ---------- Decorative color blobs on more sections (scroll-visible) ---------- */

section:nth-of-type(odd):not(:has(.pricing-box)):not(:has(.related-links)){
    position:relative;
    overflow:hidden;
}

section:nth-of-type(odd):not(:has(.pricing-box)):not(:has(.related-links))::before{
    content:"";
    position:absolute;
    top:-100px;
    left:-80px;
    width:280px;
    height:280px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(37,211,102,0.10), transparent 70%);
    pointer-events:none;
    z-index:0;
}

section:nth-of-type(4n):not(:has(.pricing-box)):not(:has(.related-links))::after{
    content:"";
    position:absolute;
    bottom:-120px;
    right:-90px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(11,18,32,0.06), transparent 70%);
    pointer-events:none;
    z-index:0;
}

section > *{
    position:relative;
    z-index:1;
}

/* ---------- Tint the dot texture slightly with color ---------- */

section:nth-of-type(even){
    background-image:radial-gradient(rgba(37,211,102,0.10) 1.3px, transparent 1.3px);
}

/* ---------- Reveal animation: add a touch of scale for more "pop" while scrolling ---------- */

.reveal{
    opacity:0;
    transform:translateY(40px) scale(0.97);
}

.reveal.active{
    opacity:1;
    transform:translateY(0) scale(1);
}
