/* =========================================================
   SUNEXIA — Feuille de style principale
   Native CSS, sans dépendance (Manrope + palette Sunexia)
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
    --primary:#16A34A;
    --primary-dark:#0E7C38;
    --danger:#F0475A;
    --secondary:#45506B;
    --text:#101827;
    --accent:#6B7A99;
    --light-bg:#FAF7F1;
    --dark-bg:#0B1220;
    --border:#E7E2D8;
    --white:#ffffff;
    --gold:#F0B429;

    --radius-sm:10px;
    --radius-md:18px;
    --radius-lg:28px;
    --radius-full:999px;

    --shadow-sm:0 4px 16px rgba(22,163,74,.10);
    --shadow-md:0 12px 40px rgba(11,18,32,.10);
    --shadow-lg:0 24px 60px rgba(11,18,32,.16);

    --container:1220px;
    --transition:.3s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    margin:0;
    font-family:'Manrope',sans-serif;
    color:var(--text);
    background:var(--white);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,h5{margin:0 0 .5em;font-weight:700;line-height:1.2;text-transform:capitalize;}
p{margin:0 0 1em;color:var(--secondary);}
button{font-family:inherit;cursor:pointer;}
input,textarea,select{font-family:inherit;}

/* ---------- Icônes (bibliothèque Lucide, non modifiées) ---------- */
.icon{width:1em;height:1em;flex:0 0 auto;}
svg.icon{width:20px;height:20px;}

.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.section{padding:96px 0;}
/* Compense le header sticky lors d'un défilement vers une ancre (#apply, #faq, etc.)
   afin que la cible soit visible immédiatement, sans que l'utilisateur ait à re-scroller. */
#apply,#how-it-works,#faq,#testimonials{scroll-margin-top:120px;}

/* ---------- Surfaces texturées (fond clair, motif de grille en pointillés) ---------- */
.surface{
    background:var(--light-bg);border-radius:48px;position:relative;overflow:hidden;
    isolation:isolate;
}
.surface::before{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:radial-gradient(circle,rgba(16,24,39,.09) 1.4px,transparent 1.4px);
    background-size:26px 26px;
    -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 20%,#000 0%,transparent 80%);
            mask-image:radial-gradient(ellipse 70% 70% at 50% 20%,#000 0%,transparent 80%);
}
.surface::after{
    content:"";position:absolute;right:-60px;bottom:-60px;width:280px;height:280px;z-index:0;pointer-events:none;
    background:radial-gradient(circle,rgba(22,163,74,.10),transparent 70%);
}
.surface > .container{position:relative;z-index:1;}

/* Watermark décoratif (icônes Lucide agrandies, très faible opacité) */
.section-watermark{
    position:absolute;pointer-events:none;z-index:0;opacity:.05;color:var(--text);
}
.section-watermark svg{width:260px;height:260px;}
.section-watermark.tr{top:-40px;right:-30px;}
.section-watermark.bl{bottom:-50px;left:-40px;}
.surface .section-watermark{color:var(--primary);}

/* ---------- Effet de halo suivant le curseur (cartes interactives) ---------- */
.spotlight{position:relative;overflow:hidden;isolation:isolate;}
.spotlight::before{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;
    background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(22,163,74,.16),transparent 70%);
    transition:opacity .35s ease;
}
.spotlight:hover::before{opacity:1;}
.spotlight > *{position:relative;z-index:1;}
.section-sm{padding:56px 0;}
@media(max-width:768px){
    .section{padding:56px 0;}
    .section-sm{padding:36px 0;}
}

/* ---------- Reveal animation (scroll) ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.08s;}
.reveal-delay-2{transition-delay:.16s;}
.reveal-delay-3{transition-delay:.24s;}
.reveal-delay-4{transition-delay:.32s;}
.reveal-delay-5{transition-delay:.4s;}
.reveal-delay-6{transition-delay:.48s;}

/* ---------- Eyebrow / label ---------- */
.eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    color:var(--primary);margin-bottom:14px;
}
.eyebrow::before{
    content:"";width:16px;height:16px;flex:0 0 auto;
    background:conic-gradient(from 0deg,var(--primary),var(--gold),var(--primary));
    border-radius:50%;
    -webkit-mask:radial-gradient(circle 5px at center,transparent 98%,#000 100%);
            mask:radial-gradient(circle 5px at center,transparent 98%,#000 100%);
}
.section-head{max-width:640px;margin-bottom:48px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(28px,3.4vw,42px);color:var(--text);}
.section-head p{color:var(--accent);font-size:16px;}
.section-head.split{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;}
.section-head.split .lead{max-width:640px;}

/* ---------- Buttons ---------- */
.btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:15px 28px;border-radius:var(--radius-full);
    font-weight:600;font-size:15px;border:1px solid transparent;
    transition:var(--transition);white-space:nowrap;
}
.btn svg{width:14px;height:14px;transition:transform var(--transition);}
.btn:hover svg{transform:translate(3px,-3px);}
.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn-dark{background:var(--dark-bg);color:#fff;}
.btn-dark:hover{background:#000;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--text);border-color:var(--border);}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);}
.btn-light{background:#fff;color:var(--text);}
.btn-light:hover{background:var(--light-bg);}
.btn-block{width:100%;justify-content:center;}
.btn-sm{padding:11px 20px;font-size:14px;}

/* ---------- Header ---------- */
.site-header{
    position:sticky;top:0;left:0;right:0;z-index:1000;
    padding:18px 0;
}
.header-inner{
    background:#fff;border-radius:var(--radius-full);
    display:flex;align-items:center;justify-content:space-between;
    padding:10px 10px 10px 22px;box-shadow:var(--shadow-md);
}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--text);}
.brand-logo{height:38px;width:auto;display:block;}
.footer-brand .brand-logo{height:34px;}
.main-nav{display:flex;align-items:center;gap:30px;}
.main-nav a{
    font-size:14.5px;font-weight:600;color:var(--secondary);
    position:relative;padding:6px 0;transition:color var(--transition);
}
.main-nav a::after{
    content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;
    background:var(--primary);transition:width var(--transition);
}
.main-nav a:hover,.main-nav a.active{color:var(--primary);}
.main-nav a:hover::after,.main-nav a.active::after{width:100%;}
.header-actions{display:flex;align-items:center;gap:14px;}

/* ---------- GTranslate — native header widget ----------
   GTranslate remains the sole language control. We style its own markup;
   we do not create a replacement select/button and we never drive translation.
*/
#gt-header-slot.header-language-switcher{
    position:relative !important;
    display:block !important;
    flex:0 0 150px !important;
    width:150px !important;
    min-width:150px !important;
    height:46px !important;
    z-index:1105 !important;
    overflow:visible !important;
    font-family:'Manrope',sans-serif !important;
}

#gt-header-slot .gt_switcher{
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
    margin:0 !important;
    overflow:visible !important;
    z-index:1105 !important;
}

#gt-header-slot .gt_selected{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:46px !important;
    margin:0 !important;
}

#gt-header-slot .gt_selected a{
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    height:46px !important;
    margin:0 !important;
    padding:0 38px 0 12px !important;
    border:1px solid #e2e8e5 !important;
    border-radius:23px !important;
    background:#fff !important;
    color:#334155 !important;
    text-decoration:none !important;
    font-family:'Manrope',sans-serif !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    box-shadow:none !important;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease !important;
    cursor:pointer !important;
}

#gt-header-slot .gt_selected a:hover,
#gt-header-slot .gt_selected a:focus-visible{
    border-color:#16a34a !important;
    background:#fff !important;
    box-shadow:0 0 0 3px rgba(22,163,74,.08) !important;
    outline:none !important;
}

#gt-header-slot .gt_selected a img{
    flex:0 0 16px !important;
    width:16px !important;
    height:16px !important;
    margin:0 8px 0 0 !important;
    object-fit:cover !important;
    vertical-align:middle !important;
}

/* Keep GTranslate's own arrow but place it cleanly inside the pill. */
#gt-header-slot .gt_selected a::after{
    content:'' !important;
    position:absolute !important;
    right:15px !important;
    top:50% !important;
    width:7px !important;
    height:7px !important;
    margin-top:-5px !important;
    border-right:1.7px solid #64748b !important;
    border-bottom:1.7px solid #64748b !important;
    transform:rotate(45deg) !important;
    pointer-events:none !important;
}

/* Native GTranslate dropdown: anchored to the header control. */
#gt-header-slot .gt_switcher .gt_option{
    position:absolute !important;
    top:calc(100% + 7px) !important;
    left:0 !important;
    right:auto !important;
    width:180px !important;
    min-width:180px !important;
    max-width:min(180px, calc(100vw - 32px)) !important;
    max-height:320px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:6px !important;
    border:1px solid #e2e8e5 !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 16px 38px rgba(15,23,42,.14) !important;
    z-index:99999 !important;
}

#gt-header-slot .gt_switcher .gt_option a{
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:34px !important;
    margin:0 !important;
    padding:7px 9px !important;
    border-radius:9px !important;
    color:#1f2937 !important;
    background:transparent !important;
    text-decoration:none !important;
    font-family:'Manrope',sans-serif !important;
    font-size:13px !important;
    font-weight:500 !important;
    line-height:20px !important;
    white-space:nowrap !important;
}

#gt-header-slot .gt_switcher .gt_option a:hover,
#gt-header-slot .gt_switcher .gt_option a:focus-visible{
    background:#f3f7f4 !important;
    color:#15803d !important;
    outline:none !important;
}

#gt-header-slot .gt_switcher .gt_option a img{
    flex:0 0 16px !important;
    width:16px !important;
    height:16px !important;
    margin:0 8px 0 0 !important;
    object-fit:cover !important;
}

/* The old Google select is an internal translation control, never a second
   visible selector. Do not disable it; simply keep it visually inaccessible. */
body .goog-te-combo{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    min-width:1px !important;
    margin:-1px !important;
    opacity:0 !important;
    pointer-events:none !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
}

/* Google branding/translation banner can appear during translation; hiding
   these purely visual frames does not disable the translation engine. */
.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover,
.goog-te-gadget-icon{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    width:0 !important;
}
.goog-text-highlight{background:none !important;box-shadow:none !important;}
body{top:0 !important;}
.skiptranslate iframe.goog-te-banner-frame{display:none !important;}

/* Only suppress accidental floating GTranslate wrappers outside the header.
   The canonical #gt-header-slot is never hidden. */
body > .gtranslate_wrapper:not(#gt-header-slot),
body > [class*="gt_float" i],
.site-footer .gtranslate_wrapper,
.site-footer [class*="gtranslate" i]{
    display:none !important;
}

/* Responsive header: the switcher stays in .header-actions, but contracts
   before the mobile menu becomes active so logo + language + burger fit. */
@media(max-width:960px){
    .site-header .header-actions #gt-header-slot{
        flex-basis:132px !important;
        width:132px !important;
        min-width:132px !important;
        height:40px !important;
    }
    #gt-header-slot .gt_switcher,
    #gt-header-slot .gt_selected,
    #gt-header-slot .gt_selected a{
        height:40px !important;
    }
    #gt-header-slot .gt_selected a{
        padding-left:10px !important;
        padding-right:32px !important;
        border-radius:20px !important;
        font-size:12px !important;
    }
    #gt-header-slot .gt_selected a img{
        width:15px !important;
        height:15px !important;
        flex-basis:15px !important;
        margin-right:6px !important;
    }
    #gt-header-slot .gt_selected a::after{right:11px !important;}
    #gt-header-slot .gt_switcher .gt_option{
        width:170px !important;
        min-width:170px !important;
        max-width:calc(100vw - 32px) !important;
    }
}

@media(max-width:640px){
    .site-header{padding:10px 0 !important;}
    .site-header .header-actions #gt-header-slot{
        flex-basis:112px !important;
        width:112px !important;
        min-width:112px !important;
        height:36px !important;
    }
    #gt-header-slot .gt_switcher,
    #gt-header-slot .gt_selected,
    #gt-header-slot .gt_selected a{
        height:36px !important;
    }
    #gt-header-slot .gt_selected a{
        padding-left:8px !important;
        padding-right:28px !important;
        border-radius:18px !important;
        font-size:11px !important;
    }
    #gt-header-slot .gt_selected a img{
        width:14px !important;
        height:14px !important;
        flex-basis:14px !important;
        margin-right:5px !important;
    }
    #gt-header-slot .gt_selected a::after{
        right:9px !important;
        width:6px !important;
        height:6px !important;
        margin-top:-4px !important;
    }
    #gt-header-slot .gt_switcher .gt_option{
        width:160px !important;
        min-width:160px !important;
        max-width:calc(100vw - 24px) !important;
        right:0 !important;
        left:auto !important;
    }
}

.auth-buttons{display:flex;align-items:center;gap:10px;}
.mobile-auth{display:none;}
.icon-btn{
    width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;
    display:flex;align-items:center;justify-content:center;flex:0 0 auto;
    transition:var(--transition);
}
.icon-btn svg{width:17px;height:17px;}
.icon-btn:hover{background:var(--primary-dark);transform:scale(1.06);}
.burger{
    display:none;width:44px;height:44px;border-radius:50%;background:var(--light-bg);
    align-items:center;justify-content:center;border:none;flex:0 0 auto;color:var(--text);
}
.burger svg.icon{width:19px;height:19px;}

@media(max-width:960px){
    .main-nav{
        position:fixed;top:86px;left:16px;right:16px;
        background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);
        flex-direction:column;align-items:stretch;gap:0;padding:10px;
        max-height:0;overflow:hidden;opacity:0;pointer-events:none;
        transition:max-height .35s ease,opacity .25s ease;
    }
    .main-nav.open{max-height:640px;opacity:1;pointer-events:auto;}
    .main-nav a{padding:13px 14px;border-radius:12px;}
    .main-nav a:hover,.main-nav a.active{background:var(--light-bg);}
    .main-nav a::after{display:none;}
    .burger{display:flex;}
    .auth-buttons{display:none;}
    .mobile-auth{display:flex;flex-direction:column;gap:10px;padding:14px 10px 6px;margin-top:6px;border-top:1px solid var(--border);}
}

/* ---------- Hero (home) ---------- */
.hero{
    position:relative;overflow:hidden;color:#fff;
    border-radius:0 0 48px 48px;
    margin-top:-104px;padding-top:104px;
}
.hero::before{
    content:"";position:absolute;inset:0;
    background-image:linear-gradient(180deg,rgba(2,10,40,.88),rgba(2,20,70,.75) 55%,rgba(2,30,90,.9)),var(--hero-img);
    background-size:cover;background-position:center;
    z-index:0;
}
.hero::after{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.4;
    background-image:
        linear-gradient(180deg,rgba(6,12,28,.4),rgba(6,12,28,.65)),
        url('../img/network-overlay.jpg');
    background-size:cover;background-position:center;
    mix-blend-mode:screen;
    -webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 90%,transparent);
            mask-image:linear-gradient(180deg,transparent,#000 20%,#000 90%,transparent);
}
.hero-overlay-img{
    position:absolute;top:0;right:0;height:100%;width:55%;max-width:760px;
    object-fit:cover;object-position:center;
    opacity:.2;z-index:0;pointer-events:none;user-select:none;
}
@media(max-width:900px){.hero-overlay-img{width:85%;right:0;opacity:.15;}}
.hero-inner{position:relative;z-index:1;padding:90px 0 60px;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;}
.hero h1{font-size:clamp(34px,4.6vw,58px);margin-bottom:20px;}
.hero p.lead{color:rgba(255,255,255,.82);font-size:17px;max-width:480px;}
.hero-cta{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.hero-card{
    background:#fff;border-radius:var(--radius-lg);padding:16px;
    box-shadow:var(--shadow-lg);color:var(--text);
    display:flex;flex-direction:column;gap:10px;max-width:320px;margin-left:auto;
}
.hero-card img{border-radius:var(--radius-md);aspect-ratio:4/3;object-fit:cover;}
.hero-card .play-badge{
    position:relative;margin-top:-64px;margin-left:16px;width:44px;height:44px;border-radius:50%;
    background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 20px rgba(22,163,74,.4);
}
.hero-card .meta{display:flex;justify-content:space-between;align-items:center;padding:0 4px 4px;}
.hero-card .stars{color:var(--gold);font-size:13px;}
.hero-stats{display:flex;gap:60px;flex-wrap:wrap;margin-top:56px;padding-top:34px;border-top:1px solid rgba(255,255,255,.18);}
.hero-stats .stat b{display:block;font-size:30px;color:#fff;}
.hero-stats .stat span{font-size:13px;color:rgba(255,255,255,.7);}
.hero-social{display:flex;gap:14px;margin-left:auto;align-items:center;}
.hero-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;transition:var(--transition);}
.hero-social a:hover{background:var(--primary);}
.hero-social svg{width:15px;height:15px;}

@media(max-width:900px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-card{margin:0;max-width:340px;}
    .hero-stats{gap:34px;}
}

/* ---------- Page header (inner pages) ---------- */
.page-hero{
    position:relative;overflow:hidden;color:#fff;text-align:center;
    border-radius:0 0 48px 48px;margin-top:-104px;padding-top:104px;
}
.page-hero::before{
    content:"";position:absolute;inset:0;
    background-image:linear-gradient(180deg,rgba(2,10,40,.85),rgba(2,20,70,.8)),var(--hero-img);
    background-size:cover;background-position:center;z-index:0;
}
.page-hero::after{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.4;
    background-image:
        linear-gradient(180deg,rgba(6,12,28,.4),rgba(6,12,28,.65)),
        url('../img/network-overlay.jpg');
    background-size:cover;background-position:center;
    mix-blend-mode:screen;
    -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000);
            mask-image:linear-gradient(180deg,transparent,#000 30%,#000);
}
.page-hero-inner{position:relative;z-index:1;padding:110px 0 56px;}
.page-hero h1{font-size:clamp(32px,4.4vw,50px);margin-bottom:18px;}
.breadcrumb{
    display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--text);
    padding:10px 22px;border-radius:var(--radius-full);font-size:13px;font-weight:700;
    letter-spacing:.03em;text-transform:uppercase;box-shadow:var(--shadow-md);
}
.breadcrumb .dot{width:16px;height:16px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;}
.breadcrumb .dot svg{width:8px;height:8px;}
.breadcrumb .current{color:var(--primary);}

/* ---------- Logos strip ---------- */
.logos-strip{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;opacity:.55;filter:grayscale(1);}
.logos-strip span{font-weight:800;font-size:19px;color:var(--secondary);letter-spacing:-.02em;}

/* ---------- Cards générales ---------- */
.grid{display:grid;gap:28px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-6{grid-template-columns:repeat(6,1fr);}
@media(max-width:960px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);} .grid-6{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;} .grid-6{grid-template-columns:repeat(2,1fr);}}

.icon-badge{
    width:52px;height:52px;border-radius:14px;background:var(--light-bg);
    display:flex;align-items:center;justify-content:center;margin-bottom:18px;flex:0 0 auto;
}
.icon-badge svg{width:24px;height:24px;color:var(--primary);}
.feature-card{
    background:var(--light-bg);border-radius:var(--radius-md);padding:28px 24px;
    transition:var(--transition);
}
.feature-card:hover{background:#fff;box-shadow:var(--shadow-md);transform:translateY(-4px);}
.feature-card h4{font-size:17px;margin-bottom:8px;}
.feature-card p{font-size:14.5px;margin-bottom:0;}

/* About mission/vision */
.about-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;}
.about-photo img{aspect-ratio:4/3.4;object-fit:cover;width:100%;}
.about-photo .logo-chip{
    position:absolute;top:20px;left:20px;background:#fff;border-radius:var(--radius-full);
    padding:8px 16px 8px 8px;display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;
    box-shadow:var(--shadow-sm);
}
.about-photo .logo-chip img{width:26px;height:26px;border-radius:50%;}
.mv-cards{position:absolute;left:20px;right:20px;bottom:20px;display:flex;gap:14px;}
.mv-card{flex:1;border-radius:var(--radius-md);padding:18px;font-size:13.5px;}
.mv-card.mission{background:#fff;color:var(--text);}
.mv-card.vision{background:var(--primary);color:#fff;}
.mv-card b{display:block;font-size:14.5px;margin-bottom:6px;}
.about-copy .stats{display:flex;gap:44px;margin:26px 0;}
.about-copy .stats b{display:block;font-size:28px;color:var(--text);}
.about-copy .stats span{font-size:13px;color:var(--accent);}
.avatars{display:flex;align-items:center;gap:12px;margin-top:22px;}
.avatars .stack{display:flex;}
.avatars .stack img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-10px;}
.avatars .stack img:first-child{margin-left:0;}
.avatars span{font-size:13.5px;font-weight:600;color:var(--secondary);}

/* Why us photo panel */
.whyus-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;}
.whyus-photo img{aspect-ratio:4/3.6;object-fit:cover;width:100%;}
.whyus-photo .arrow-chip{
    position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;
    background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;
}
.whyus-photo .arrow-chip svg{width:16px;height:16px;}
.whyus-photo .stat-bar{
    position:absolute;left:18px;right:18px;bottom:18px;background:#fff;border-radius:var(--radius-md);
    display:flex;padding:18px;gap:0;box-shadow:var(--shadow-md);
}
.whyus-photo .stat-bar .stat{flex:1;text-align:center;border-right:1px solid var(--border);}
.whyus-photo .stat-bar .stat:last-child{border-right:none;}
.whyus-photo .stat-bar b{display:block;font-size:22px;color:var(--primary);}
.whyus-photo .stat-bar span{font-size:11.5px;color:var(--accent);}

/* Services image cards (home) */
.service-strip{
    position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:190px;
    display:flex;align-items:center;margin-bottom:22px;
}
.service-strip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.service-strip::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,10,30,.72) 0,rgba(6,10,30,.35) 55%,transparent 85%);z-index:1;}
.service-strip .content{position:relative;z-index:2;color:#fff;padding:28px 32px;max-width:340px;}
.service-strip .content h4{font-size:19px;margin-bottom:8px;}
.service-strip .content p{color:rgba(255,255,255,.82);font-size:13.5px;margin-bottom:0;}
.service-strip .badge-num{
    position:absolute;top:20px;right:20px;z-index:2;width:38px;height:38px;border-radius:50%;
    background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;
}
.service-strip .badge-num svg{width:14px;height:14px;}

/* Services grid (services page) */
.service-tile{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;}
.service-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.service-tile:hover img{transform:scale(1.07);}
.service-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,10,30,.75) 0,rgba(6,10,30,.05) 60%);}
.service-tile .info{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;background:#fff;border-radius:var(--radius-md);padding:16px 18px;}
.service-tile .info h4{font-size:15.5px;margin-bottom:4px;}
.service-tile .info p{font-size:12.5px;margin-bottom:0;color:var(--accent);}
.service-tile .badge-num{position:absolute;top:16px;right:16px;z-index:2;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;}
.service-tile .badge-num svg{width:13px;height:13px;}

/* Process (about) */
.process-row{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin-bottom:56px;}
.process-row:nth-child(even) .process-photo{order:2;}
.process-photo img{border-radius:var(--radius-lg);aspect-ratio:16/11;object-fit:cover;width:100%;}
.process-num{color:var(--primary);font-weight:800;font-size:15px;margin-bottom:6px;display:block;}
.process-row h3{font-size:24px;}
.process-row h3 b{color:var(--primary);}
.process-underline{width:56px;height:3px;background:var(--primary);margin:14px 0 16px;border-radius:2px;}
@media(max-width:768px){.process-row,.process-row:nth-child(even){grid-template-columns:1fr;} .process-row:nth-child(even) .process-photo{order:0;}}

/* Team grid */
.team-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/3.7;}
.team-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.team-card:hover img{transform:scale(1.06);}
.team-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,10,30,.85) 0%,transparent 45%);}
.team-card .info{position:absolute;left:18px;bottom:16px;z-index:2;color:#fff;}
.team-card .info b{display:block;font-size:16px;}
.team-card .info span{font-size:12.5px;color:rgba(255,255,255,.75);}

/* Testimonial */
.testimonial-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;}
.testimonial-photo img{aspect-ratio:4/3.2;object-fit:cover;width:100%;}
.testimonial-photo .name-chip{position:absolute;top:18px;left:18px;background:#fff;border-radius:var(--radius-md);padding:10px 16px;box-shadow:var(--shadow-sm);}
.testimonial-photo .name-chip b{display:block;font-size:14px;}
.testimonial-photo .name-chip span{font-size:11.5px;color:var(--accent);}
.testimonial-photo .play-chip{position:absolute;left:18px;bottom:70px;width:46px;height:46px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(22,163,74,.4);}
.testimonial-photo .play-chip svg{width:16px;height:16px;}
.testimonial-photo .quote-chip{position:absolute;right:18px;bottom:18px;left:110px;background:var(--dark-bg);color:#fff;border-radius:var(--radius-md);padding:16px 18px;font-size:13px;}
.testimonial-photo .quote-chip .stars{color:var(--gold);font-size:12px;margin-bottom:6px;}
.stars-row{color:var(--gold);font-size:15px;margin-bottom:14px;letter-spacing:2px;}
.star-rating{display:inline-flex;gap:2px;color:var(--gold);vertical-align:middle;}
.star-rating svg.icon.star-filled{width:14px;height:14px;fill:var(--gold);stroke:var(--gold);}
.stars .star-rating svg.icon.star-filled,.testimonial-photo .stars svg.icon.star-filled{width:12px;height:12px;}
.testimonial-copy .quote-mark{font-size:60px;color:var(--border);font-weight:800;line-height:.6;margin-bottom:0;}
.testimonial-author{display:flex;align-items:center;gap:12px;margin-top:18px;}
.testimonial-author img{width:46px;height:46px;border-radius:50%;object-fit:cover;}
.testimonial-author b{display:block;font-size:14.5px;}
.testimonial-author span{font-size:12.5px;color:var(--accent);}

/* Pricing */
.price-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 28px;position:relative;}
.price-card.featured{background:var(--dark-bg);color:#fff;border-color:var(--dark-bg);transform:translateY(-10px);box-shadow:var(--shadow-lg);}
.price-card .plan-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.plan-tag{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--light-bg);color:var(--secondary);padding:6px 14px;border-radius:var(--radius-full);}
.price-card.featured .plan-tag{background:var(--primary);color:#fff;}
.plan-bolt{width:34px;height:34px;border-radius:50%;background:var(--light-bg);display:flex;align-items:center;justify-content:center;}
.price-card.featured .plan-bolt{background:rgba(255,255,255,.12);}
.plan-bolt svg{width:14px;height:14px;color:var(--primary);}
.price-card.featured .plan-bolt svg{color:var(--gold);}
.price-amount{font-size:38px;font-weight:800;color:var(--text);}
.price-card.featured .price-amount{color:#fff;}
.price-amount span{font-size:13px;font-weight:600;color:var(--accent);text-transform:none;}
.price-desc{font-size:13.5px;color:var(--accent);margin:12px 0 18px;padding-bottom:18px;border-bottom:1px solid var(--border);}
.price-card.featured .price-desc{border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.65);}
.price-feats li{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:12px;color:var(--secondary);}
.price-card.featured .price-feats li{color:rgba(255,255,255,.85);}
.price-feats svg{width:16px;height:16px;color:#fff;background:var(--primary);border-radius:50%;padding:3px;flex:0 0 auto;}

/* FAQ */
.faq-list{border-top:1px solid var(--border);}
.faq-item{border-bottom:1px solid var(--border);}
.faq-item.active{border:none;border-radius:var(--radius-md);overflow:hidden;margin-bottom:2px;}
.faq-q{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:20px 22px;font-weight:700;font-size:15px;cursor:pointer;
    background:var(--light-bg);border-radius:var(--radius-md);transition:var(--transition);
}
.faq-item.active .faq-q{background:var(--primary);color:#fff;}
.faq-q .plus{width:24px;height:24px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:400;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-item.active .faq-a{max-height:220px;}
.faq-a-inner{padding:18px 22px 4px;font-size:14.5px;color:var(--secondary);}

/* Blog */
.blog-card{border-radius:var(--radius-lg);overflow:hidden;}
.blog-card .thumb{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/11;}
.blog-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.blog-card:hover .thumb img{transform:scale(1.07);}
.blog-card .date-chip{position:absolute;top:14px;right:14px;background:var(--primary);color:#fff;font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:var(--radius-full);}
.blog-card .meta{font-size:12px;color:var(--primary);font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin:16px 0 6px;}
.blog-card h4{font-size:17px;margin-bottom:8px;}
.blog-card p{font-size:14px;}
.blog-side-item{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-bottom:1px solid var(--border);}
.blog-side-item a{font-size:14px;font-weight:700;color:var(--text);}
.blog-side-item a:hover{color:var(--primary);}
.blog-side-item span{font-size:12px;color:var(--accent);}
.blog-cta{background:var(--dark-bg);border-radius:var(--radius-lg);padding:32px 26px;color:#fff;text-align:center;position:relative;overflow:hidden;}
.blog-cta h4{font-size:22px;}
.blog-pagination{display:flex;gap:10px;align-items:center;margin-top:20px;}
.blog-pagination a{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13.5px;color:var(--secondary);background:var(--light-bg);}
.blog-pagination a.active,.blog-pagination a:hover{background:var(--primary);color:#fff;}

/* Contact */
.contact-topbar{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;padding:26px 0;border-bottom:1px solid var(--border);}
.contact-topbar .item{display:flex;align-items:center;gap:14px;}
.contact-topbar .item .ic{width:42px;height:42px;border-radius:50%;background:var(--light-bg);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.contact-topbar .item .ic svg{width:17px;height:17px;color:var(--primary);}
.contact-topbar .item span{display:block;font-size:11.5px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;}
.contact-topbar .item b{font-size:14.5px;}
.map-wrap{border-radius:var(--radius-lg);overflow:hidden;margin:34px 0;box-shadow:var(--shadow-sm);}
.map-wrap iframe{width:100%;height:340px;border:0;display:block;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-group.full{grid-column:1/-1;}
.form-group label{font-size:14px;font-weight:700;}
.form-group label b{color:var(--primary);}
.form-group input,.form-group textarea,.form-group select{
    border:1px solid var(--border);background:var(--light-bg);border-radius:var(--radius-sm);
    padding:14px 16px;font-size:14.5px;color:var(--text);outline:none;transition:var(--transition);
    font-family:inherit;width:100%;
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);background:#fff;}
.form-group textarea{min-height:130px;resize:vertical;}
.form-group select{appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236B7A99" stroke-width="2"><path d="m6 9 6 6 6-6"/></svg>');background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px;}
.form-hint{display:block;font-size:12px;color:var(--accent);margin-top:6px;font-weight:500;}
.form-msg{padding:14px 18px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:18px;}
.form-msg.success{background:#E6F4EA;color:#1E7B34;}
.form-msg.error{background:#FCE8E6;color:#B3261E;}
@media(max-width:640px){.form-grid{grid-template-columns:1fr;}}

/* ---------- Crypto Loans spotlight (homepage feature block) ---------- */
.credit-spotlight{
    position:relative;overflow:hidden;border-radius:var(--radius-lg);
    background:linear-gradient(135deg,#0B1220 0%,#132038 55%,#0B1220 100%);
    color:#fff;padding:56px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;
}
.credit-spotlight::before{
    content:"";position:absolute;width:360px;height:360px;border-radius:50%;
    background:radial-gradient(circle,rgba(22,163,74,.35),transparent 70%);
    top:-140px;right:-80px;pointer-events:none;
}
.credit-spotlight::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
    background-size:34px 34px;
    -webkit-mask-image:radial-gradient(ellipse 80% 90% at 30% 40%,#000,transparent 75%);
            mask-image:radial-gradient(ellipse 80% 90% at 30% 40%,#000,transparent 75%);
}
.credit-spotlight > div{position:relative;z-index:1;}
.credit-spotlight .eyebrow{color:var(--primary);}
.credit-spotlight h2{color:#fff;font-size:clamp(26px,3.2vw,38px);}
.credit-spotlight p.lead{color:rgba(255,255,255,.72);max-width:460px;}
.credit-points{margin:24px 0;display:flex;flex-direction:column;gap:14px;}
.credit-points li{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;color:rgba(255,255,255,.88);}
.credit-points svg.icon{width:18px;height:18px;color:var(--primary);background:rgba(22,163,74,.15);border-radius:50%;padding:4px;box-sizing:content-box;flex:0 0 auto;margin-top:1px;}
.credit-spotlight-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.credit-stat-card{
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
    border-radius:var(--radius-md);padding:22px;backdrop-filter:blur(6px);
}
.credit-stat-card + .credit-stat-card{margin-top:14px;}
.credit-stat-card b{display:block;font-size:26px;color:#fff;}
.credit-stat-card span{font-size:12.5px;color:rgba(255,255,255,.6);}
@media(max-width:900px){
    .credit-spotlight{grid-template-columns:1fr;padding:36px 26px;}
}

/* Loan simulator-style summary row (credit.php) */
.loan-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.loan-summary .box{background:var(--light-bg);border-radius:var(--radius-md);padding:20px;text-align:center;}
.loan-summary .box b{display:block;font-size:22px;color:var(--primary);}
.loan-summary .box span{font-size:12.5px;color:var(--accent);}
@media(max-width:640px){.loan-summary{grid-template-columns:1fr;}}

/* CTA band */
.cta-band{background:var(--dark-bg);border-radius:var(--radius-lg);padding:52px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;color:#fff;position:relative;overflow:hidden;}
.cta-band h3{font-size:26px;max-width:420px;margin-bottom:0;position:relative;z-index:1;}
.cta-band::before{content:"";position:absolute;width:280px;height:280px;background:radial-gradient(circle,rgba(22,163,74,.5),transparent 70%);top:-100px;right:-60px;}
.cta-band::after{
    content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background-image:
        linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
    background-size:34px 34px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);
            mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);
}
.cta-band > a{position:relative;z-index:1;}

/* ---------- Footer ---------- */
.site-footer{background:var(--dark-bg);color:rgba(255,255,255,.72);margin-top:80px;position:relative;overflow:hidden;}
.site-footer::before{
    content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.5;
    background-image:
        linear-gradient(180deg,rgba(6,12,28,.35),rgba(6,12,28,.7)),
        url('../img/network-overlay.jpg');
    background-size:cover;background-position:center;
    mix-blend-mode:screen;
    -webkit-mask-image:linear-gradient(180deg,#000,transparent 92%);
            mask-image:linear-gradient(180deg,#000,transparent 92%);
}
.site-footer > .container,.site-footer > .footer-legal{position:relative;z-index:1;}
.footer-newsletter{border-bottom:1px solid rgba(255,255,255,.1);padding:40px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.footer-newsletter h4{color:#fff;font-size:19px;margin:0;}
.newsletter-form{display:flex;background:#fff;border-radius:var(--radius-full);padding:6px;gap:6px;min-width:340px;}
.newsletter-form input{flex:1;border:none;background:transparent;padding:10px 16px;outline:none;font-size:14px;}
.newsletter-form button{width:42px;height:42px;border-radius:50%;background:var(--primary);border:none;color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.newsletter-form button svg{width:15px;height:15px;}
.footer-main{padding:56px 0 40px;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px;}
.footer-brand .brand{color:#fff;margin-bottom:14px;}
.footer-brand p{font-size:13.5px;max-width:260px;}
.footer-social{display:flex;gap:10px;margin-top:16px;}
.footer-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:var(--transition);}
.footer-social a:hover{background:var(--primary);}
.footer-social svg{width:14px;height:14px;}
.footer-col h5{color:#fff;font-size:14.5px;margin-bottom:18px;}
.footer-col li{margin-bottom:11px;}
.footer-col a{font-size:13.5px;transition:color var(--transition);}
.footer-col a:hover{color:#fff;}
.legal-mini li{font-size:12.5px;color:rgba(255,255,255,.55);margin-bottom:8px;}
.legal-mini li:first-child{color:rgba(255,255,255,.85);font-weight:700;}

/* ---------- Legal document pages (Privacy Policy, Terms, Legal Notice, Regulatory) ---------- */
.legal-layout{display:grid;grid-template-columns:2.2fr .85fr;gap:48px;align-items:start;min-width:0;}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;}}

.legal-toc{position:sticky;top:120px;background:var(--light-bg);border-radius:var(--radius-md);padding:22px;max-height:calc(100vh - 150px);overflow-y:auto;}
.legal-toc h5{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-bottom:14px;}
.legal-toc a{display:block;font-size:13px;padding:9px 0;color:var(--secondary);border-bottom:1px solid var(--border);line-height:1.4;}
.legal-toc a:last-child{border-bottom:none;}
.legal-toc a:hover{color:var(--primary);}
@media(max-width:900px){.legal-toc{position:relative;top:0;max-height:none;}}

.legal-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px;}
.legal-switch a{display:inline-flex;align-items:center;gap:6px;background:var(--light-bg);border:1px solid var(--border);border-radius:var(--radius-full);padding:9px 16px;font-size:13px;font-weight:600;color:var(--secondary);}
.legal-switch a.active{background:var(--primary);border-color:var(--primary);color:#fff;}
.legal-switch a:hover:not(.active){border-color:var(--primary);color:var(--primary);}

.legal-meta{background:var(--light-bg);border-radius:var(--radius-md);padding:22px 24px;margin-bottom:36px;font-size:13.5px;color:var(--secondary);}
.legal-meta div{margin-bottom:6px;}
.legal-meta b{color:var(--text);}

.legal-content{font-size:15px;color:var(--secondary);min-width:0;}
.legal-content h2{font-size:21px;color:var(--text);margin:0 0 16px;padding-top:36px;border-top:1px solid var(--border);scroll-margin-top:120px;text-transform:none;}
.legal-content > h2:first-of-type{padding-top:0;border-top:none;}
.legal-content h3{font-size:16px;color:var(--text);margin:22px 0 10px;text-transform:none;}
.legal-content p{margin-bottom:16px;line-height:1.75;}
.legal-content ul,.legal-content ol{margin:0 0 16px;padding-left:20px;}
.legal-content li{margin-bottom:8px;line-height:1.6;}
.legal-content a{color:var(--primary);font-weight:600;}
.legal-content strong{color:var(--text);}

.legal-callout{background:#FCEEEF;border-left:4px solid var(--danger);border-radius:var(--radius-sm);padding:18px 20px;margin:22px 0;font-size:14px;color:#7A2530;}
.legal-callout b{display:block;margin-bottom:6px;color:#B3212F;font-size:13px;text-transform:uppercase;letter-spacing:.03em;}

.legal-table-wrap{overflow-x:auto;margin:22px 0;border-radius:var(--radius-md);border:1px solid var(--border);}
table.legal-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px;}
table.legal-table th{background:var(--light-bg);text-align:left;padding:12px 16px;font-weight:700;color:var(--text);border-bottom:1px solid var(--border);white-space:nowrap;}
table.legal-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--secondary);}
table.legal-table tr:last-child td{border-bottom:none;}

.legal-footer-note{margin-top:40px;padding-top:24px;border-top:1px solid var(--border);font-size:12.5px;color:var(--accent);font-style:italic;}
.footer-bottom-info{border-top:1px solid rgba(255,255,255,.1);padding:26px 0;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;}
.footer-bottom-info .item span{display:flex;align-items:center;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.4);margin-bottom:6px;}
.footer-bottom-info .item span svg.icon{width:14px;height:14px;flex:0 0 auto;color:var(--primary);}
.footer-bottom-info .item b{color:#fff;font-size:14px;font-weight:600;}
.footer-whatsapp-link{color:inherit;transition:color var(--transition);}
.footer-whatsapp-link:hover{color:var(--primary);}
.footer-legal{background:var(--primary);color:#fff;padding:14px 0;font-size:12.5px;}
.footer-legal .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

@media(max-width:900px){
    .footer-main{grid-template-columns:1fr 1fr;}
    .footer-brand{grid-column:1 / -1;}
}
@media(max-width:560px){
    .newsletter-form{min-width:0;width:100%;}
}

/* ---------- 404 ---------- */
.page-404 .page-hero-inner{padding:150px 0 130px;}
.error-num{font-size:clamp(80px,14vw,180px);font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1;margin-bottom:0;}

/* ---------- Utilities ---------- */
.text-center{text-align:center;}
.mt-0{margin-top:0;}
.mx-auto{margin-left:auto;margin-right:auto;}
.only-desktop{display:block;}
@media(max-width:768px){.only-desktop{display:none;}}
.tag-chip{display:inline-flex;align-items:center;gap:6px;background:var(--light-bg);border:1px solid var(--border);border-radius:var(--radius-full);padding:8px 14px;font-size:12.5px;font-weight:600;color:var(--secondary);}
.chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
.chip-row svg{width:13px;height:13px;color:var(--primary);}

/* Project rows (project.php) */
.project-row{display:grid;grid-template-columns:.9fr 1.4fr .9fr;gap:30px;align-items:center;padding:36px 0;border-bottom:1px solid var(--border);}
.project-row:first-child{padding-top:0;}
.project-row img{border-radius:var(--radius-lg);aspect-ratio:16/12;object-fit:cover;width:100%;}
.project-row h3{font-size:24px;}
.project-row .desc p{font-size:14px;color:var(--secondary);margin-bottom:18px;}
@media(max-width:900px){.project-row{grid-template-columns:1fr;}}

/* Project details result grid */
.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;}
.result-box{background:var(--light-bg);border-radius:var(--radius-md);padding:16px 18px;}
.result-box span{display:block;font-size:12px;color:var(--accent);}
.result-box b{display:block;font-size:16.5px;color:var(--primary);}
@media(max-width:600px){.result-grid{grid-template-columns:1fr 1fr;}}
.challenge-col ul{margin:0;}
.challenge-col li{position:relative;padding-left:20px;margin-bottom:12px;font-size:14px;color:var(--secondary);}
.challenge-col li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--primary);}

/* Back to top */
.back-to-top{
    position:fixed;bottom:26px;right:26px;width:48px;height:48px;border-radius:50%;
    background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;
    box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(10px);
    transition:var(--transition);z-index:900;border:none;
}
.back-to-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}
.back-to-top svg{width:16px;height:16px;}

/* =========================================================
   MOBILE COMPACT MODE (≤640px)
   Objectif : une plateforme dense et professionnelle sur mobile,
   sans les grands aplats de padding hérités du desktop. Chaque
   bloc ci-dessous cible un composant précis (pas de réduction
   globale par transform/zoom). Le desktop n'est pas affecté.
   ========================================================= */
@media(max-width:640px){

    /* --- Structure générale / sections --- */
    .container{padding:0 18px;}
    .section{padding:40px 0;}
    .section-sm{padding:26px 0;}
    .section-head{margin-bottom:26px;}
    .section-head.split{gap:16px;}
    .eyebrow{margin-bottom:8px;font-size:12px;}
    .surface{border-radius:28px;}

    /* --- Sélecteur natif GTranslate --- */
    #gt-header-slot.header-language-switcher{width:150px;height:36px;}
    #gt-header-slot select.goog-te-combo,
    #gt-header-slot select{height:36px !important;padding:0 34px 0 37px !important;border-radius:18px !important;font-size:12.5px !important;line-height:36px !important;}
    #gt-header-slot.header-language-switcher::before{left:11px;font-size:12.5px;}
    #gt-header-slot.header-language-switcher::after{right:12px;width:7px;height:7px;}
    .header-inner{padding:8px 8px 8px 16px;}
    .header-actions{gap:6px;}
    .burger{width:40px;height:40px;}
    .brand-logo{height:30px;}
    h1,h2,h3,h4,h5{line-height:1.25;}

    /* --- Hero (accueil) : priorité n°1, le titre doit apparaître vite --- */
    .hero,.page-hero{border-radius:0 0 28px 28px;}
    .hero-inner{padding:28px 0 32px;}
    .hero h1{font-size:30px;margin-bottom:12px;}
    .hero p.lead{font-size:15px;}
    .hero-cta{margin-top:18px;gap:10px;}
    .hero-card{padding:12px;max-width:none;}
    .hero-card .play-badge{margin-top:-52px;width:38px;height:38px;}
    .hero-stats{margin-top:26px;padding-top:18px;gap:22px;}
    .hero-stats .stat b{font-size:24px;}
    .hero-social{margin-left:0;width:100%;justify-content:flex-start;margin-top:6px;}

    /* --- Bandeau des pages intérieures (About, Services, Credit, etc.) --- */
    .page-hero-inner{padding:26px 0 28px;}
    .page-hero h1{font-size:26px;margin-bottom:10px;}
    .breadcrumb{padding:7px 14px;font-size:11px;gap:6px;}
    .page-404 .page-hero-inner{padding:60px 0 48px;}

    /* --- Grilles et cartes --- */
    .grid{gap:14px;}
    .feature-card{padding:18px 16px;}
    .icon-badge{width:42px;height:42px;margin-bottom:10px;border-radius:11px;}
    .icon-badge svg{width:20px;height:20px;}
    .price-card{padding:22px 18px;}
    .price-card.featured{transform:none;}
    .service-strip{min-height:150px;margin-bottom:12px;}
    .service-strip .content{padding:18px 20px;}
    .service-tile .info{padding:12px 14px;left:10px;right:10px;bottom:10px;}
    .process-row{margin-bottom:26px;gap:16px;}
    .process-underline{margin:8px 0 10px;}

    /* --- About : photo, mission/vision, stats --- */
    .mv-cards{gap:8px;left:14px;right:14px;bottom:14px;}
    .mv-card{padding:12px;font-size:12.5px;}
    .about-copy .stats{gap:26px;margin:16px 0;}
    .whyus-photo .stat-bar{padding:12px;}
    .whyus-photo .stat-bar b{font-size:18px;}

    /* --- Testimonials --- */
    .testimonial-photo .quote-chip{left:80px;padding:12px 14px;font-size:12px;}
    .testimonial-photo .name-chip{padding:8px 12px;}
    .testimonial-author{margin-top:12px;}

    /* --- Crypto Loans spotlight (accueil) --- */
    .credit-spotlight{padding:24px 18px;}
    .credit-points{margin:16px 0;gap:10px;}
    .credit-stat-card{padding:14px;}
    .credit-stat-card + .credit-stat-card{margin-top:10px;}
    .loan-summary .box{padding:14px;}

    /* --- Bande CTA --- */
    .cta-band{padding:24px 20px;gap:16px;}
    .cta-band h3{font-size:20px;}

    /* --- FAQ --- */
    .faq-q{padding:15px 16px;font-size:14px;}
    .faq-a-inner{padding:14px 16px 2px;font-size:14px;}

    /* --- Formulaires (contact + demande de crédit) --- */
    .form-grid{gap:12px;}
    .form-group input,.form-group textarea,.form-group select{padding:12px 14px;font-size:14px;}
    .contact-topbar{padding:16px 0;gap:16px;}
    .map-wrap iframe{height:220px;}

    /* --- Boutons : zone tactile confortable, sans excès --- */
    .btn{padding:13px 20px;font-size:14px;}

    /* --- Footer --- */
    .site-footer{margin-top:44px;}
    .footer-newsletter{padding:24px 0;gap:14px;}
    .footer-newsletter h4{font-size:16px;}
    .footer-main{padding:28px 0 18px;gap:22px;}
    .footer-brand p{max-width:none;}
    .footer-bottom-info{padding:16px 0;gap:14px;}
    .footer-legal{padding:12px 0;font-size:11.5px;}
    .footer-legal .container{flex-direction:column;gap:4px;}

    /* --- Pages légales --- */
    .legal-switch{gap:8px;margin-bottom:20px;}
    .legal-switch a{padding:8px 12px;font-size:12px;}
    .legal-meta{padding:16px 18px;margin-bottom:22px;}
    .legal-content h2{padding-top:24px;margin-bottom:12px;font-size:18px;}
    .legal-content h3{margin:16px 0 8px;}

    /* --- Divers --- */
    .result-grid{gap:10px;}
    .result-box{padding:12px 14px;}
    .project-row{padding:22px 0;gap:16px;}
    .back-to-top{width:42px;height:42px;bottom:18px;right:18px;}
}

/* Très petits écrans : marge de sécurité supplémentaire pour le sélecteur
   de langue afin d'exclure tout risque de débordement d'un pixel. */
@media(max-width:400px){
    .container{padding:0 14px;}
    #gt-header-slot.header-language-switcher{width:132px;}
    #gt-header-slot select.goog-te-combo,
    #gt-header-slot select{padding-left:31px !important;padding-right:30px !important;}
    #gt-header-slot.header-language-switcher::before{left:9px;font-size:12px;}
    .header-inner{padding:7px 6px 7px 14px;}
    .header-actions{gap:4px;}
    .brand-logo{height:26px;}
}

/* =========================================================
   GTRANSLATE NATIVE SWITCHER — FINAL HEADER SKIN
   IMPORTANT: GTranslate's own .gt_switcher remains the only
   interactive language control. No replacement UI or JS is used.
   ========================================================= */
#gt-header-slot.header-language-switcher{
    position:relative !important;
    display:block !important;
    width:150px !important;
    height:46px !important;
    min-width:150px !important;
    overflow:visible !important;
    z-index:1100 !important;
}

/* The native GTranslate widget is the visible control. */
#gt-header-slot .gt_switcher{
    position:relative !important;
    display:block !important;
    width:150px !important;
    min-width:150px !important;
    height:46px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    font-family:'Manrope',sans-serif !important;
    z-index:1101 !important;
}

#gt-header-slot .gt_selected{
    display:block !important;
    width:150px !important;
    height:46px !important;
    margin:0 !important;
    padding:0 !important;
}

#gt-header-slot .gt_selected a{
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    width:150px !important;
    height:46px !important;
    margin:0 !important;
    padding:0 38px 0 14px !important;
    border:1px solid #e2e8e5 !important;
    border-radius:23px !important;
    background:#fff !important;
    color:#4b5563 !important;
    text-decoration:none !important;
    font-family:'Manrope',sans-serif !important;
    font-size:15px !important;
    font-weight:500 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    box-shadow:none !important;
    transition:border-color .18s ease, box-shadow .18s ease !important;
}

#gt-header-slot .gt_selected a:hover,
#gt-header-slot .gt_selected a:focus{
    border-color:#16a34a !important;
    box-shadow:0 0 0 3px rgba(22,163,74,.08) !important;
    outline:none !important;
}

#gt-header-slot .gt_selected a img{
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    margin:0 8px 0 0 !important;
    vertical-align:middle !important;
}

/* GTranslate uses this arrow; keep it inside the pill. */
#gt-header-slot .gt_selected a::after{
    content:'' !important;
    position:absolute !important;
    right:16px !important;
    top:50% !important;
    width:8px !important;
    height:8px !important;
    border-right:1.7px solid #64748b !important;
    border-bottom:1.7px solid #64748b !important;
    transform:translateY(-65%) rotate(45deg) !important;
    pointer-events:none !important;
}

/* GTranslate dropdown must open below the header, not at document flow. */
#gt-header-slot .gt_switcher .gt_option{
    position:absolute !important;
    top:calc(100% + 6px) !important;
    left:0 !important;
    width:150px !important;
    min-width:150px !important;
    max-height:320px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:6px 0 !important;
    margin:0 !important;
    border:1px solid #e2e8e5 !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 12px 30px rgba(15,23,42,.12) !important;
    z-index:99999 !important;
}

#gt-header-slot .gt_switcher .gt_option a{
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:34px !important;
    margin:0 !important;
    padding:7px 12px !important;
    color:#1f2937 !important;
    background:#fff !important;
    text-decoration:none !important;
    font-family:'Manrope',sans-serif !important;
    font-size:14px !important;
    line-height:20px !important;
    white-space:nowrap !important;
}

#gt-header-slot .gt_switcher .gt_option a:hover{
    background:#f3f7f4 !important;
    color:#16a34a !important;
}

#gt-header-slot .gt_switcher .gt_option a img{
    width:16px !important;
    height:16px !important;
    margin:0 8px 0 0 !important;
}

/* Remove the previous visual pseudo-labels. The text now comes directly
   from GTranslate's native selected link. */
#gt-header-slot.header-language-switcher::before,
#gt-header-slot.header-language-switcher::after{
    content:none !important;
    display:none !important;
}

/* The old Google Translate fallback select is auxiliary to DWF. Keep it
   available to the translation engine but prevent it from appearing as a
   second selector anywhere in the page. */
body .goog-te-combo{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    min-width:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
}

/* ---------- Mobile (<960px, where the burger appears): round,
   flag-only trigger ----------
   The full pill (flag + language name + arrow) is too wide next to the
   burger below 960px, so we collapse GTranslate's own rendered anchor
   into a round icon showing only the active flag. GTranslate still owns
   the widget and the dropdown it opens — we only restyle the existing
   markup (hide the text node + arrow, keep the <img> it inserts). */
@media(max-width:960px){
    /* Two round icons (language + burger) sit next to each other now
       instead of a wide pill + burger, so the old 14px gap looks like
       a gap "in the middle". Bring them closer together. */
    .header-actions{gap:4px !important;}
    #gt-header-slot.header-language-switcher,
    #gt-header-slot .gt_switcher,
    #gt-header-slot .gt_selected{
        flex-basis:44px !important;
        width:44px !important;
        min-width:44px !important;
        height:44px !important;
    }
    #gt-header-slot .gt_selected a{
        width:44px !important;
        height:44px !important;
        padding:0 !important;
        border-radius:50% !important;
        justify-content:center !important;
        font-size:0 !important;
    }
    #gt-header-slot .gt_selected a img{
        width:20px !important;
        height:20px !important;
        min-width:20px !important;
        margin:0 !important;
        border-radius:50% !important;
    }
    #gt-header-slot .gt_selected a::after{
        display:none !important;
    }
    #gt-header-slot .gt_switcher .gt_option{
        width:170px !important;
        min-width:170px !important;
        max-width:calc(100vw - 32px) !important;
        left:auto !important;
        right:0 !important;
    }
}

@media(max-width:640px){
    .header-actions{gap:4px !important;}
    #gt-header-slot.header-language-switcher,
    #gt-header-slot .gt_switcher,
    #gt-header-slot .gt_selected{
        flex-basis:40px !important;
        width:40px !important;
        min-width:40px !important;
        height:40px !important;
    }
    #gt-header-slot .gt_selected a{
        width:40px !important;
        height:40px !important;
    }
    #gt-header-slot .gt_selected a img{
        width:18px !important;
        height:18px !important;
        min-width:18px !important;
    }
    #gt-header-slot .gt_switcher .gt_option{
        width:160px !important;
        min-width:160px !important;
        max-width:calc(100vw - 24px) !important;
    }
}





/* ---------- Mobile: move the native GTranslate selector beside the burger ----------
   Desktop/tablet layout is untouched. The selector remains the same native
   GTranslate control; this only changes its mobile visual position. */
@media(max-width:960px){
    .header-inner{position:relative;}
    .header-actions #gt-header-slot{
        position:absolute !important;
        right:44px !important;
        top:50% !important;
        transform:translateY(-50%) !important;
        margin:0 !important;
    }
}
