/* =====================================================================
   CRÉDIT MODERNE OCEAN INDIEN — Feuille de style principale
   Palette : Émeraude & Bronze
   Typographie : Sora (titres) + Plus Jakarta Sans (texte)
   ===================================================================== */

:root{
  --ink:#0A2F2A;
  --primary:#0F766E;
  --primary-2:#0B5F54;
  --accent-soft:#DCEEEA;
  --accent-pale:#EDF6F3;
  --cta-a:#B45309;
  --cta-b:#8A3D08;
  --cta-text:#FFFFFF;
  --cta-glow:rgba(180,83,9,.34);
  --page:#FFFFFF;
  --panel:#F3F8F6;
  --line:#E4EEEB;
  --muted:#5A716C;
  --body:#33454A;
  --dark-a:#08322C;
  --dark-b:#0C433B;
  --danger:#C0392B;
  --success:#178A5A;
  --success-bg:#E6F7EF;
  --radius:20px;
  --maxw:1200px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--body);
  background:var(--page);
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
}
h1,h2,h3,h4{font-family:'Sora','Plus Jakarta Sans',sans-serif;color:var(--ink);margin:0;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
::selection{background:var(--ink);color:#fff;}
:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.eyebrow{display:inline-block;padding:6px 14px;background:var(--accent-pale);color:var(--primary);border-radius:100px;font-weight:700;font-size:12.5px;letter-spacing:.6px;text-transform:uppercase;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---------- Buttons ---------- */
.btn-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 28px;border-radius:13px;font-weight:700;font-size:15.5px;font-family:inherit;background:linear-gradient(135deg,var(--cta-a),var(--cta-b));color:var(--cta-text);box-shadow:0 14px 28px var(--cta-glow);transition:transform .2s ease,box-shadow .2s ease;border:none;cursor:pointer;}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 18px 34px var(--cta-glow);}
.btn-cta.sm{padding:11px 20px;font-size:14px;}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 26px;border-radius:13px;font-weight:700;font-size:15.5px;font-family:inherit;background:#fff;color:var(--ink);border:2px solid var(--line);transition:all .2s ease;cursor:pointer;}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary);}

/* ---------- Header ---------- */
header.site{position:fixed;top:0;left:0;right:0;z-index:900;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.hd{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px clamp(20px,4vw,48px);max-width:var(--maxw);margin:0 auto;}
.brand{display:flex;align-items:center;gap:12px;}
.logo{width:44px;height:44px;border-radius:12px;box-shadow:0 8px 18px var(--cta-glow);flex-shrink:0;display:block;object-fit:cover;}
.brand-logo{height:44px;width:auto;display:block;}
@media(max-width:480px){.brand-logo{height:38px;}}
.foot-logo{height:46px;width:auto;display:block;}
.brand b{font-family:'Sora';font-weight:700;font-size:16px;color:var(--ink);display:block;line-height:1.1;}
.brand small{font-size:10.5px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--primary);}
nav.main{display:flex;align-items:center;gap:clamp(12px,1.5vw,24px);}
nav.main a.lnk{font-weight:600;font-size:14px;color:var(--body);white-space:nowrap;}
nav.main a.lnk:hover{color:var(--primary);}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);align-items:center;justify-content:center;cursor:pointer;}
.mobile-nav{display:none;}
@media(max-width:1040px){
  nav.main .lnk,nav.main .cta-desktop{display:none;}
  .burger{display:flex;}
  .mobile-nav{display:none;position:fixed;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(10,25,40,.15);z-index:899;padding:14px clamp(20px,4vw,48px);flex-direction:column;gap:2px;max-height:calc(100vh - 70px);overflow-y:auto;}
  .mobile-nav.open{display:flex;}
  .mobile-nav a{padding:14px 8px;font-weight:600;font-size:16px;color:var(--ink);border-bottom:1px solid var(--panel);}
  .mobile-nav a.btn-cta{border-bottom:none;margin-top:10px;color:var(--cta-text);}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding-top:clamp(120px,14vw,150px);padding-bottom:clamp(48px,6vw,72px);background:linear-gradient(180deg,var(--accent-pale) 0%,var(--page) 70%);}
.blob{position:absolute;border-radius:50%;filter:blur(36px);pointer-events:none;z-index:0;}
.blob.a{width:440px;height:440px;background:radial-gradient(circle,rgba(15,118,110,.20),transparent 70%);top:-150px;right:-110px;}
.blob.b{width:320px;height:320px;background:var(--cta-glow);bottom:-120px;left:-90px;}
.hero-grid{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(30px,5vw,60px);}
.hero-col{flex:1 1 460px;}
.hero h1{font-weight:700;font-size:clamp(2rem,1.4rem + 2.9vw,3.3rem);line-height:1.1;letter-spacing:-.5px;margin:18px 0 18px;}
.hero h1 .g{background:linear-gradient(135deg,var(--primary),var(--primary-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.hero p.lead{font-size:clamp(1rem,.95rem + .3vw,1.13rem);line-height:1.65;color:var(--muted);max-width:540px;margin:0 0 30px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;}
.hero-media{flex:1 1 400px;position:relative;min-width:280px;}
.hero-media .frame{position:absolute;inset:-14px;background:linear-gradient(135deg,var(--accent-soft),transparent 60%);border-radius:30px;z-index:0;}
.hero-media img{position:relative;z-index:1;width:100%;height:clamp(280px,32vw,410px);object-fit:cover;border-radius:24px;box-shadow:0 30px 60px rgba(10,25,40,.20);}
.hero-badge{position:absolute;left:18px;bottom:18px;z-index:2;display:flex;align-items:center;gap:11px;padding:13px 16px;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #fff;border-radius:14px;box-shadow:0 16px 32px rgba(10,25,40,.18);max-width:250px;}
.hero-badge .ic{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;}
.hero-badge b{font-size:13px;color:var(--ink);display:block;}
.hero-badge span{font-size:11.5px;color:var(--muted);}

/* ---------- Hero plein écran (image pleine largeur) ---------- */
.hero-full{position:relative;display:flex;align-items:center;overflow:hidden;min-height:clamp(540px,82vh,780px);padding-top:clamp(96px,12vw,120px);padding-bottom:clamp(48px,7vw,88px);}
.hero-full>.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center right;z-index:0;}
.hero-full>.veil{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(6,40,35,.94) 0%,rgba(8,50,44,.80) 42%,rgba(8,50,44,.40) 78%,rgba(8,50,44,.18) 100%);}
.hero-full .wrap{position:relative;z-index:2;width:100%;}
.hero-full .eyebrow{background:rgba(255,255,255,.14);color:#EAF6F3;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);}
.hero-full h1{color:#fff;font-weight:700;font-size:clamp(2.1rem,1.4rem + 3.1vw,3.5rem);line-height:1.08;letter-spacing:-.5px;margin:18px 0 18px;max-width:760px;text-wrap:balance;}
.hero-full h1 .g{background:linear-gradient(120deg,#7FE0CF,#39B6A2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.hero-full p.lead{color:rgba(255,255,255,.9);font-size:clamp(1rem,.95rem + .35vw,1.18rem);line-height:1.65;max-width:560px;margin:0 0 30px;}
.hero-full .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px;}
.hero-full .hero-ticks{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);}
.hero-full .hero-ticks span{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#EAF6F3;}
.hero-full .hero-ticks svg{color:#7FE0CF;flex-shrink:0;}
.btn-ghost.on-dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.45);color:#fff;}
.btn-ghost.on-dark:hover{background:rgba(255,255,255,.16);border-color:#fff;color:#fff;}

/* ---------- Section Profils (cartes images) ---------- */
.grid-profils{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.profil{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 10px 30px rgba(10,25,40,.06);transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s;}
.profil:hover{transform:translateY(-7px);box-shadow:0 26px 50px rgba(10,25,40,.14);}
.profil .ph{position:relative;height:200px;overflow:hidden;}
.profil .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.profil:hover .ph img{transform:scale(1.06);}
.profil .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,50,44,.55));}
.profil .ph b{position:absolute;left:18px;bottom:14px;z-index:1;color:#fff;font-family:'Sora';font-weight:700;font-size:19px;}
.profil .bd{padding:22px 24px 26px;}
.profil .bd p{font-size:14.5px;line-height:1.6;color:var(--muted);margin:0 0 14px;}
.profil .bd .more{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-weight:700;font-size:14.5px;}
.profil .bd ul{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px;}
.profil .bd ul li{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--body);}
.profil .bd ul svg{flex-shrink:0;color:var(--primary);margin-top:2px;}

/* Split inversé */
.split.reverse{flex-direction:row-reverse;}
@media(max-width:820px){.split.reverse{flex-direction:column;}}

/* ---------- Trust strip ---------- */
.trust{padding:clamp(26px,3.4vw,38px) 0;background:var(--page);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(18px,4vw,44px);}
.trust-item{display:flex;align-items:center;gap:11px;}
.trust-item .ic{width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.trust-item b{font-size:14px;color:var(--ink);white-space:nowrap;}

/* ---------- Generic section ---------- */
section.pad{padding:clamp(60px,8vw,104px) 0;}
.sec-head{max-width:660px;margin-bottom:42px;}
.sec-head h2{font-weight:700;font-size:clamp(1.6rem,1.25rem + 1.5vw,2.35rem);letter-spacing:-.3px;margin:14px 0 12px;}
.sec-head p{font-size:16px;line-height:1.6;color:var(--muted);margin:0;}
.reveal{transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.js .reveal{opacity:0;transform:translateY(26px);}
.reveal.in{opacity:1;transform:none;}

/* ---------- Solutions ---------- */
.grid-sol{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:22px;}
.card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:13px;transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s,border-color .3s;}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),#5AB6AC);}
.card:hover{transform:translateY(-7px);box-shadow:0 24px 46px rgba(10,25,40,.12);border-color:var(--accent-soft);}
.card .ic{width:52px;height:52px;border-radius:14px;background:var(--accent-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;}
.card h3{font-weight:700;font-size:18px;}
.card p{font-size:14.5px;line-height:1.6;color:var(--muted);margin:0;flex:1;}
.card .more{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-weight:700;font-size:14.5px;}

/* ---------- Dark value band ---------- */
.band-dark{padding:clamp(52px,7vw,80px) 0;background:linear-gradient(135deg,var(--dark-a),var(--dark-b));position:relative;overflow:hidden;}
.grid-val{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.val{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:24px;color:#fff;}
.val .ic{width:42px;height:42px;border-radius:11px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:14px;}
.val b{font-family:'Sora';font-weight:700;font-size:clamp(1.4rem,1.1rem + .8vw,1.8rem);display:block;color:#fff;}
.val span{font-size:13.5px;color:rgba(255,255,255,.72);}

/* ---------- Steps ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px;}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:13px;transition:transform .25s,box-shadow .25s;}
.step:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(10,25,40,.1);}
.step .num{width:44px;height:44px;border-radius:100px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Sora';font-weight:700;font-size:17px;box-shadow:0 8px 18px var(--cta-glow);}
.step h3{font-size:16.5px;font-weight:700;}
.step p{font-size:14px;color:var(--muted);margin:0;}
.disclaimer{display:flex;gap:10px;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 22px;margin:30px auto 0;}
.disclaimer p{font-size:13.5px;line-height:1.5;color:var(--muted);margin:0;font-style:italic;}
@media(max-width:640px){.disclaimer{align-items:flex-start;text-align:left;}}

/* ---------- About / list ---------- */
.split{display:flex;flex-wrap:wrap;gap:clamp(30px,5vw,56px);align-items:center;}
.split .media{flex:1 1 360px;position:relative;}
.split .media img{width:100%;height:clamp(260px,30vw,380px);object-fit:cover;border-radius:22px;box-shadow:0 26px 52px rgba(10,25,40,.16);}
.split .body{flex:1 1 400px;}
.split .body h2{font-weight:700;font-size:clamp(1.6rem,1.25rem + 1.5vw,2.35rem);letter-spacing:-.3px;margin:14px 0 14px;}
.split .body>p{font-size:16px;line-height:1.7;color:var(--muted);margin:0 0 20px;}
.ticks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px;}
.ticks li{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--body);}
.ticks svg{flex-shrink:0;}

/* ---------- CTA band ---------- */
.cta-band{position:relative;min-height:300px;display:flex;align-items:center;overflow:hidden;}
.cta-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center right;}
.cta-band .wrap{width:100%;}
.cta-band .veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,40,35,.95) 0%,rgba(7,45,40,.82) 38%,rgba(8,50,44,.4) 70%,rgba(8,50,44,.12) 100%);}
.cta-card{position:relative;z-index:1;max-width:540px;}
.cta-card h2{color:#fff;font-weight:700;font-size:clamp(1.7rem,1.3rem + 1.5vw,2.4rem);margin:0 0 14px;text-shadow:0 2px 18px rgba(6,40,35,.55);}
.cta-card p{color:rgba(255,255,255,.92);font-size:16px;line-height:1.6;margin:0 0 26px;text-shadow:0 1px 12px rgba(6,40,35,.5);}

/* ---------- Legal warning strip ---------- */
.warn{background:var(--panel);border-top:1px solid var(--line);}
.warn .wrap{padding-top:20px;padding-bottom:20px;}
.warn p{margin:0;font-size:13px;line-height:1.6;color:var(--muted);text-align:center;}
.warn strong{color:var(--ink);}

/* ---------- Footer ---------- */
footer.site{background:var(--ink);color:rgba(255,255,255,.78);}
footer .bar{height:3px;background:linear-gradient(90deg,var(--primary),#5AB6AC,var(--cta-a));}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:36px;padding:clamp(44px,6vw,64px) 0 32px;border-bottom:1px solid rgba(255,255,255,.1);}
.foot-grid h4{color:#fff;font-family:'Plus Jakarta Sans';font-weight:700;font-size:12.5px;letter-spacing:.5px;text-transform:uppercase;margin:0 0 14px;}
.foot-grid a,.foot-grid p{display:block;font-size:13.5px;color:rgba(255,255,255,.62);line-height:1.9;margin:0;}
.foot-grid a:hover{color:#fff;}
.foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.foot-brand .logo{width:36px;height:36px;font-size:12px;}
.foot-brand b{color:#fff;font-family:'Sora';font-size:15px;line-height:1.15;}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:20px 0 30px;font-size:12px;color:rgba(255,255,255,.5);}
.foot-bottom .links{display:flex;flex-wrap:wrap;gap:14px;}
.foot-bottom a:hover{color:#fff;}
.social{display:flex;gap:10px;margin-top:18px;}
.social a{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.82);transition:background .2s,color .2s,transform .2s;}
.social a:hover{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;transform:translateY(-2px);border-color:transparent;}
.foot-grid a.fi,.foot-grid p.fi{display:flex;gap:9px;align-items:flex-start;}
.foot-grid .fi svg{flex-shrink:0;margin-top:2px;color:#5AB6AC;}

/* ---------- Bouton retour en haut ---------- */
.to-top{position:fixed;right:20px;bottom:20px;z-index:800;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(10,25,40,.28);opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease,box-shadow .2s ease;}
.to-top.show{opacity:1;visibility:visible;transform:none;}
.to-top:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(15,118,110,.34);}
.to-top:focus-visible{outline:3px solid var(--accent-soft);outline-offset:3px;}
@media(max-width:520px){.to-top{right:14px;bottom:14px;width:44px;height:44px;}}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{padding-top:clamp(116px,14vw,140px);padding-bottom:clamp(36px,5vw,52px);background:linear-gradient(180deg,var(--accent-pale) 0%,var(--page) 100%);}
.page-hero h1{font-weight:700;font-size:clamp(1.9rem,1.5rem + 1.8vw,2.8rem);line-height:1.15;letter-spacing:-.4px;margin:16px 0 12px;max-width:760px;}
.page-hero p{font-size:16px;line-height:1.6;color:var(--muted);margin:0;max-width:640px;}

/* ---------- Pages légales ---------- */
.legal{max-width:820px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.legal .updated{font-size:13px;color:var(--muted);margin:0 0 8px;}
.legal h2{font-weight:700;font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem);margin:38px 0 12px;letter-spacing:-.2px;}
.legal h3{font-weight:700;font-size:16.5px;margin:22px 0 8px;color:var(--ink);}
.legal p{font-size:15.5px;line-height:1.75;color:var(--body);margin:0 0 14px;}
.legal ul{margin:0 0 16px;padding-left:22px;}
.legal li{font-size:15.5px;line-height:1.7;color:var(--body);margin-bottom:7px;}
.legal a{color:var(--primary);font-weight:600;}
.legal a:hover{text-decoration:underline;}
.legal .box{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 24px;margin:0 0 18px;}
.legal .box p{margin:0;font-size:14.5px;}
.legal table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14.5px;}
.legal table th,.legal table td{text-align:left;padding:11px 14px;border:1px solid var(--line);vertical-align:top;}
.legal table th{background:var(--panel);font-family:'Sora';color:var(--ink);width:38%;}
.legal .toc{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 22px;margin:0 0 28px;}
.legal .toc b{display:block;font-family:'Sora';color:var(--ink);font-size:14px;margin-bottom:8px;}
.legal .toc a{display:inline-block;margin:0 14px 6px 0;font-size:14px;}

/* ---------- Forms ---------- */
.field{margin-bottom:2px;}
.field label{display:block;font-weight:700;font-size:13.5px;color:var(--ink);margin-bottom:7px;}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border-radius:10px;border:1.5px solid var(--line);font-size:14.5px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s;}
.field textarea{resize:vertical;min-height:110px;}
.field select{padding-right:40px;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235B6784' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,118,110,.15);}
.field .err{color:var(--danger);font-size:12.5px;margin-top:6px;display:block;}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--danger);}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);line-height:1.5;cursor:pointer;}
.consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--cta-a);flex-shrink:0;}
.hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}

.alert{border-radius:14px;padding:16px 18px;font-size:14.5px;line-height:1.55;margin-bottom:22px;display:flex;gap:11px;align-items:flex-start;}
.alert svg{flex-shrink:0;margin-top:1px;}
.alert.ok{background:var(--success-bg);color:#0E6B47;border:1px solid #BEEBD5;}
.alert.ko{background:#FDEDEA;color:#96271A;border:1px solid #F6CFC8;}

/* Contact layout */
.contact-grid{display:flex;flex-wrap:wrap;gap:40px;}
.contact-info{flex:1 1 300px;}
.contact-info h2{font-weight:700;font-size:22px;margin:0 0 22px;}
.info-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;}
.info-item .ic{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-2));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 22px var(--cta-glow);flex-shrink:0;}
.info-item b{font-weight:700;font-size:14.5px;color:var(--ink);display:block;margin-bottom:3px;}
.info-item span,.info-item a{font-size:14.5px;color:var(--muted);line-height:1.5;display:block;}
.info-item a:hover{color:var(--primary);}
.form-card{flex:1 1 480px;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3vw,40px);}
.form-card form{display:flex;flex-direction:column;gap:18px;}

/* FAQ */
.faq-grid{display:flex;flex-wrap:wrap;gap:40px;}
.faq-intro{flex:1 1 280px;min-width:260px;}
.faq-intro h2{font-weight:700;font-size:clamp(1.6rem,1.3rem + 1.4vw,2.4rem);letter-spacing:-.3px;margin:14px 0 14px;}
.faq-intro p{font-size:15.5px;line-height:1.6;color:var(--muted);margin:0;}
.faq-intro img{width:100%;border-radius:20px;margin-top:24px;object-fit:cover;height:260px;box-shadow:0 20px 40px rgba(10,25,40,.1);}
.faq-list{flex:2 1 480px;display:flex;flex-direction:column;gap:12px;}
.faq{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .25s,box-shadow .25s;box-shadow:0 2px 10px rgba(10,25,40,.03);}
.faq:hover{border-color:var(--accent-soft);box-shadow:0 14px 30px rgba(15,118,110,.10);}
.faq button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;background:transparent;border:none;text-align:left;cursor:pointer;font-family:inherit;}
.faq button span.q{font-weight:700;font-size:15.5px;color:var(--ink);}
.faq button .chev{color:var(--primary);transition:transform .25s;flex-shrink:0;display:flex;}
.faq.open button .chev{transform:rotate(180deg);}
.faq .panel{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq .panel-inner{padding:0 22px 20px;font-size:14.5px;line-height:1.65;color:var(--muted);}

/* ---------- Multi-step wizard (apply) ---------- */
.apply-wrap{max-width:840px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.apply-head{text-align:center;margin-bottom:36px;}
.apply-head h1{font-weight:700;font-size:clamp(1.7rem,1.4rem + 1.4vw,2.4rem);letter-spacing:-.4px;margin:16px 0 12px;}
.apply-head p{font-size:15.5px;line-height:1.6;color:var(--muted);margin:0 auto;max-width:560px;}
.wizard{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3.5vw,44px);box-shadow:0 24px 60px rgba(10,25,40,.08);}
.progress{height:5px;border-radius:100px;background:var(--panel);margin-bottom:28px;overflow:hidden;}
.progress .bar{height:100%;border-radius:100px;background:linear-gradient(90deg,var(--cta-a),#E0873A);width:0;transition:width .4s ease;}
.stepper{display:flex;align-items:flex-start;margin-bottom:32px;}
.stepper .st{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;}
.stepper .st .line{position:absolute;top:17px;right:50%;width:100%;height:2px;background:var(--line);z-index:0;}
.stepper .st:first-child .line{display:none;}
.stepper .st .dot{position:relative;z-index:1;width:36px;height:36px;border-radius:100px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;background:#fff;color:#8AA09A;border:2px solid var(--line);transition:all .25s;}
.stepper .st .lbl{font-size:12px;font-weight:600;color:#8AA09A;text-align:center;}
.stepper .st.active .dot{background:linear-gradient(135deg,var(--cta-a),#E0873A);color:#fff;border:none;box-shadow:0 6px 16px var(--cta-glow);}
.stepper .st.done .dot{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border:none;}
.stepper .st.active .lbl{color:var(--ink);}
.wizard-step{display:none;flex-direction:column;gap:20px;}
.wizard-step.active{display:flex;animation:fadeUp .35s ease both;}
.wizard-step h2{font-weight:700;font-size:19px;}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.wizard-nav{display:flex;justify-content:space-between;gap:14px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);}
.recap{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;}
.recap .row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;}
.recap .row span{color:var(--muted);}
.recap .row strong{color:var(--ink);}
.recap .sep{height:1px;background:var(--line);}
.success-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(40px,6vw,64px);box-shadow:0 24px 60px rgba(10,25,40,.08);text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;}
.success-card .badge{width:64px;height:64px;border-radius:100px;background:var(--success-bg);display:flex;align-items:center;justify-content:center;color:var(--success);}
.success-card h2{font-weight:700;font-size:22px;}
.success-card p{font-size:15px;line-height:1.65;color:var(--muted);margin:0;max-width:460px;}
