/* =========================================================
   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 — sélecteur de langue natif du header ----------
   #gt-header-slot est le point d'ancrage réel (wrapper_selector) où
   GTranslate rend son <select>. Le positionnement (rattachement au
   header, anti-flottement) est géré côté JS (voir main.js) et ne doit
   plus être modifié. Le <select> natif de GTranslate ne peut pas être
   stylé finement (son menu déroulant est un composant du navigateur,
   hors de portée du CSS) : main.js construit donc un bouton "pill" +
   une liste déroulante maison, synchronisés avec ce <select> caché mais
   toujours fonctionnel. Tout ce bloc cible exclusivement ces éléments,
   sans aucune règle globale (select{}, button{}, etc.). */
#gt-header-slot.header-language-switcher{
    position:relative;display:inline-flex;align-items:center;
    min-width:64px;height:46px;
    font-family:'Manrope',sans-serif;
}
#gt-header-slot.header-language-switcher,
#gt-header-slot.header-language-switcher *{font-family:'Manrope',sans-serif !important;box-sizing:border-box;}

/* Le <select> réel de GTranslate reste dans le DOM (fonctionnel, c'est
   lui qui déclenche la traduction) mais n'est plus affiché : le bouton
   et la liste "maison" ci-dessous prennent le relais visuel. */
/* Sécurité CSS pure : masque TOUT <select> apparaissant dans le slot dès
   son insertion dans le DOM, avant même que main.js n'ait eu le temps de
   l'intercepter et d'y attacher .gt-native-select-hidden. Sans cette
   règle, GTranslate pouvait injecter son <select> natif et l'afficher, ne
   serait-ce que pendant l'intervalle (quelques dizaines de ms) précédant
   l'exécution du script — c'est ce "flash" du select gris natif qui
   donnait l'impression que l'habillage ne fonctionnait pas. */
#gt-header-slot select,
#gt-header-slot select.gt-native-select-hidden{
    position:absolute !important;width:1px !important;height:1px !important;
    padding:0 !important;margin:-1px !important;overflow:hidden !important;
    clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;
    opacity:0 !important;
}

/* Déclencheur "pill" — même famille graphique que le bouton Log In situé
   juste à droite (même hauteur, même rayon, même police), mais légèrement
   plus discret : fond transparent au repos, bordure très fine. */
#gt-header-slot .gt-custom-trigger{
    appearance:none;-webkit-appearance:none;-moz-appearance:none;
    display:inline-flex !important;align-items:center;gap:8px;
    height:46px;padding:0 16px;
    background:transparent;border:1px solid var(--border);border-radius:var(--radius-full);
    font-family:'Manrope',sans-serif;font-size:14px;font-weight:500;color:var(--text);
    cursor:pointer;transition:all .18s ease;white-space:nowrap;
}
#gt-header-slot .gt-custom-trigger:hover{
    background:rgba(22,163,74,.06);border-color:var(--primary);color:var(--primary);
}
#gt-header-slot .gt-custom-trigger[aria-expanded="true"]{
    border-color:var(--primary);color:var(--primary);background:rgba(22,163,74,.06);
}
#gt-header-slot .gt-custom-trigger-label{
    display:inline-flex;align-items:center;gap:7px;color:inherit;
}
/* Drapeau (emoji) et nom de langue séparés en deux éléments distincts par
   le JS, afin de maîtriser précisément l'espacement entre les deux plutôt
   que de dépendre du texte brut fourni par GTranslate. */
#gt-header-slot .gt-flag{
    display:inline-flex;align-items:center;justify-content:center;
    font-size:14px;line-height:1;flex:0 0 auto;
}
#gt-header-slot .gt-name{
    font-size:14px;font-weight:500;letter-spacing:.01em;color:inherit;line-height:1.2;
}
#gt-header-slot .gt-custom-trigger-code{
    display:none;color:inherit;font-size:12.5px;font-weight:700;letter-spacing:.02em;
}
#gt-header-slot .gt-custom-chevron{
    display:inline-flex;align-items:center;justify-content:center;
    width:12px;height:12px;flex:0 0 auto;color:var(--accent);margin-left:2px;
    transition:transform .18s ease;
}
#gt-header-slot .gt-custom-trigger:hover .gt-custom-chevron,
#gt-header-slot .gt-custom-trigger[aria-expanded="true"] .gt-custom-chevron{color:var(--primary);}
#gt-header-slot .gt-custom-trigger[aria-expanded="true"] .gt-custom-chevron{transform:rotate(180deg);}
#gt-header-slot .gt-custom-chevron svg{width:100%;height:100%;stroke-width:2.4;}

/* Menu déroulant "maison" — même langage visuel que le reste du site
   (fond blanc, coins arrondis, ombre légère, cf. .faq-list / .legal-toc). */
#gt-header-slot .gt-custom-list{
    position:absolute;top:calc(100% + 8px);right:0;left:auto;
    background:#fff;border:1px solid var(--border);
    border-radius:14px;box-shadow:var(--shadow-md);
    padding:6px;min-width:172px;max-height:280px;overflow-y:auto;
    z-index:1200;
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
#gt-header-slot .gt-custom-list.open{
    opacity:1;visibility:visible;transform:translateY(0);
}
#gt-header-slot .gt-custom-item{
    font-family:'Manrope',sans-serif;font-size:14px;font-weight:500;color:var(--secondary);
    padding:9px 12px;border-radius:9px;cursor:pointer;transition:background .15s ease,color .15s ease;
    display:flex;align-items:center;gap:9px;white-space:nowrap;
}
#gt-header-slot .gt-custom-item .gt-flag{font-size:14px;}
#gt-header-slot .gt-custom-item:hover{background:var(--light-bg);color:var(--primary);}
#gt-header-slot .gt-custom-item.is-active{color:var(--primary);font-weight:700;background:var(--light-bg);}

/* Masque le logo/icône Google affiché par défaut dans le widget (branding
   uniquement — n'affecte pas le moteur de traduction). */
#gt-header-slot img[src*="google" i],
#gt-header-slot .gt_switcher_icon{display:none !important;}

/* Masque le bandeau/tooltip Google Translate qui apparaît une fois une
   traduction active (barre du haut, icône flottante "Powered by Google").
   Ces éléments sont purement visuels/branding ; le moteur de traduction
   (script Google sous-jacent utilisé par GTranslate) n'est pas touché. */
.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;position:static !important;}
.skiptranslate iframe.goog-te-banner-frame{display:none !important;}

/* Filet de sécurité : si un élément GTranslate venait à apparaître hors du
   header avant que le script de rattachement (main.js) n'ait pu agir, on
   l'escamote immédiatement pour qu'il ne soit jamais visible en bas de
   page, dans un coin de l'écran ou dans le footer. */
body > .gtranslate_wrapper:not(#gt-header-slot),
body > [class*="gt_float" i],
.site-footer .gtranslate_wrapper,
.site-footer [class*="gtranslate" i]{
    display:none !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 de langue (GTranslate) --- */
    #gt-header-slot.header-language-switcher{min-width:40px;height:36px;}
    #gt-header-slot .gt-custom-trigger{height:36px;padding:0 12px;gap:6px;}
    #gt-header-slot .gt-name{font-size:12.5px;}
    #gt-header-slot .gt-flag{font-size:12.5px;}
    #gt-header-slot .gt-custom-list{right:-8px;min-width:150px;}
    .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 .gt-custom-trigger{padding:0 9px;gap:4px;}
    #gt-header-slot .gt-custom-trigger-label{display:none;}
    #gt-header-slot .gt-custom-trigger-code{display:inline;}
    #gt-header-slot .gt-custom-list{right:0;min-width:140px;}
    .header-inner{padding:7px 6px 7px 14px;}
    .header-actions{gap:4px;}
    .brand-logo{height:26px;}
}
