/* =============================================
   DATA LUMEN — FEUILLE DE STYLE COMMUNE
   ============================================= */
@import url('https://cdn.jsdelivr.net/npm/@fontsource/syne@5/700.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/dm-sans@5/400.css');

*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --g:#C58511;--g2:#DFA030;
  --bg:#1a1918;--bg2:#232220;--bg3:#2c2b28;
  --t:#EDE9DF;--t2:#C8C2B6;--t3:#9E9890;
  --bd:#3A3830;
  --fd:'Syne','Outfit',system-ui,sans-serif;
  --fb:'DM Sans',system-ui,sans-serif;
  --nav-h:100px;
}
html{scroll-behavior:smooth;}
body{font-family:var(--fb);background:var(--bg);color:var(--t);font-size:14px;line-height:1.65;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;}

/* ── NAV ── */
.dl-nav{display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;height:var(--nav-h);background:#fff;border-bottom:1px solid #E8E4DC;position:sticky;top:0;z-index:100;box-shadow:0 1px 8px rgba(0,0,0,.08);}
.dl-logo{display:flex;align-items:center;gap:12px;}
.dl-logo img{height:var(--nav-h);object-fit:contain;padding:8px 0;}
.dl-logo-txt small{color:#9A9488;font-size:11px;display:block;letter-spacing:.16em;font-family:var(--fb);font-weight:400;text-transform:uppercase;}
.dl-nav-links{display:flex;align-items:center;}
.dl-nav-links a{font-size:13px;color:#5F5E5A;padding:0 .9rem;height:var(--nav-h);display:flex;align-items:center;border-bottom:2px solid transparent;transition:color .15s;letter-spacing:.02em;}
.dl-nav-links a:hover,.dl-nav-links a.active{color:#1a1918;border-bottom-color:var(--g);}
.dl-nav-links .nav-sep{width:1px;height:20px;background:#E8E4DC;margin:0 .25rem;}
.btn-g{background:var(--g);color:#fff;border:none;padding:10px 22px;font-size:13px;font-family:var(--fb);border-radius:3px;font-weight:700;letter-spacing:.02em;cursor:pointer;display:inline-block;}
.btn-g:hover{background:var(--g2);}
.btn-o{background:transparent;color:var(--t);border:0.5px solid var(--bd);padding:9px 20px;font-size:13px;font-family:var(--fb);border-radius:2px;cursor:pointer;display:inline-block;}
.btn-o:hover{border-color:var(--g);color:var(--g);}

/* ── HERO ── */
.dl-hero{padding:5rem 2.5rem 4rem;text-align:center;border-bottom:0.5px solid var(--bd);}
.dl-hero-lbl{font-size:11px;letter-spacing:.2em;color:var(--g);text-transform:uppercase;margin-bottom:1.5rem;}
.dl-hero h1{font-family:var(--fd);font-size:50px;font-weight:700;line-height:1.08;max-width:760px;margin:0 auto 1.5rem;letter-spacing:-.02em;}
.dl-hero h1 em{color:var(--g);font-style:normal;}
.dl-hero .hero-sub{font-size:15px;color:var(--t2);max-width:560px;margin:0 auto 2.5rem;line-height:1.7;}
.dl-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ── PAGE HEADER (pages internes) ── */
.dl-ph{padding:3.5rem 2.5rem 2.5rem;border-bottom:0.5px solid var(--bd);}
.dl-ph-lbl{font-size:10px;letter-spacing:.18em;color:var(--g);text-transform:uppercase;margin-bottom:.75rem;}
.dl-ph h1{font-family:var(--fd);font-size:42px;font-weight:700;margin-bottom:.6rem;letter-spacing:-.02em;line-height:1.1;}
.dl-ph .ph-sub{font-size:15px;color:var(--t2);max-width:600px;line-height:1.7;margin-bottom:1.25rem;}
.dl-breadcrumb{display:flex;gap:.5rem;font-size:12px;color:var(--t3);align-items:center;margin-bottom:1.25rem;}
.dl-breadcrumb a{color:var(--t3);}
.dl-breadcrumb a:hover{color:var(--g);}
.dl-breadcrumb span{color:var(--t3);}

/* ── STATS ── */
.dl-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:0.5px solid var(--bd);}
.dl-stat{padding:2rem 1rem;border-right:0.5px solid var(--bd);text-align:center;}
.dl-stat:last-child{border-right:none;}
.dl-stat-n{font-family:var(--fd);font-size:38px;font-weight:700;color:var(--g);line-height:1;letter-spacing:-.02em;}
.dl-stat-l{font-size:12px;color:var(--t2);margin-top:4px;letter-spacing:.04em;}

/* ── SECTIONS ── */
.dl-sec{padding:3rem 2.5rem;border-bottom:0.5px solid var(--bd);}
.dl-sec-hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:.5rem;}
.dl-sec-hd h2{font-family:var(--fd);font-size:28px;font-weight:700;letter-spacing:-.01em;}
.dl-sec-hd .sec-link{font-size:12px;color:var(--g);letter-spacing:.05em;}

/* ── SERVICE GRID ── */
.dl-sg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--bd);border:0.5px solid var(--bd);}
.dl-sc{background:var(--bg2);padding:1.75rem 1.5rem;}
.dl-sc-tag{font-size:10px;letter-spacing:.12em;color:var(--g);text-transform:uppercase;margin-bottom:.85rem;}
.dl-sc h3{font-family:var(--fd);font-size:17px;font-weight:700;margin-bottom:.6rem;line-height:1.2;letter-spacing:-.01em;}
.dl-sc p{font-size:12.5px;color:var(--t2);line-height:1.65;}
.dl-sc .sc-link{display:inline-block;margin-top:.85rem;font-size:12px;color:var(--g);}

/* ── CONTENT GRID 2 COL ── */
.dl-2col{display:grid;grid-template-columns:1fr 1fr;}
.dl-col-content{padding:2.5rem 2.5rem;}
.dl-col-content h2{font-family:var(--fd);font-size:26px;font-weight:700;margin-bottom:.85rem;letter-spacing:-.01em;}
.dl-col-content p{font-size:13px;color:var(--t2);line-height:1.75;margin-bottom:.85rem;}
.dl-col-content p:last-child{margin-bottom:0;}
.dl-col-aside{padding:2.5rem 2rem;background:var(--bg2);border-left:0.5px solid var(--bd);}

/* ── TAGS ── */
.dl-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:.85rem;}
.dl-tag{font-size:11px;border:0.5px solid var(--bd);padding:3px 9px;border-radius:2px;color:var(--t2);}

/* ── ZONES SECTION ── */
.dl-zones{padding:3rem 2.5rem;border-bottom:0.5px solid var(--bd);}
.dl-zones h2{font-family:var(--fd);font-size:26px;font-weight:700;margin-bottom:.5rem;letter-spacing:-.01em;}
.dl-zones .zones-sub{font-size:13px;color:var(--t2);margin-bottom:1.75rem;}
.dl-zones-g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--bd);border:0.5px solid var(--bd);}
.dl-zone{background:var(--bg2);padding:1.25rem 1rem;text-align:center;}
.dl-zone-dept{font-family:var(--fd);font-size:22px;font-weight:700;color:var(--g);line-height:1;}
.dl-zone-name{font-size:11px;color:var(--t2);margin-top:3px;letter-spacing:.04em;}
.dl-zone-villes{font-size:10px;color:var(--t3);margin-top:4px;line-height:1.5;}

/* ── FAQ ── */
.dl-faq{padding:3rem 2.5rem;border-bottom:0.5px solid var(--bd);}
.dl-faq h2{font-family:var(--fd);font-size:26px;font-weight:700;margin-bottom:1.75rem;letter-spacing:-.01em;}
.dl-faq-item{border-bottom:0.5px solid var(--bd);padding:1.1rem 0;}
.dl-faq-item:last-child{border-bottom:none;}
.dl-faq-q{font-size:14px;font-weight:700;color:var(--t);margin-bottom:.5rem;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;}
.dl-faq-q::after{content:'+';color:var(--g);font-size:18px;font-weight:400;flex-shrink:0;margin-top:-2px;}
.dl-faq-item.open .dl-faq-q::after{content:'−';}
.dl-faq-a{font-size:13px;color:var(--t2);line-height:1.75;display:none;padding-top:.25rem;}
.dl-faq-item.open .dl-faq-a{display:block;}

/* ── CAS CLIENTS ── */
.dl-case{display:grid;grid-template-columns:260px 1fr;border-bottom:0.5px solid var(--bd);}
.dl-case-sb{padding:2.5rem 2rem;border-right:0.5px solid var(--bd);background:var(--bg2);}
.dl-case-cl{font-family:var(--fd);font-size:22px;font-weight:700;margin-bottom:.2rem;}
.dl-case-sc{font-size:10px;color:var(--g);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem;}
.dl-mets{display:flex;flex-direction:column;gap:1rem;}
.dl-met-v{font-family:var(--fd);font-size:28px;font-weight:700;color:var(--g);line-height:1;}
.dl-met-l{font-size:12px;color:var(--t2);}
.dl-case-bd{padding:2.5rem 2.5rem;}
.dl-case-bd h2{font-family:var(--fd);font-size:22px;font-weight:700;margin-bottom:.75rem;line-height:1.3;}
.dl-case-bd p{font-size:13px;color:var(--t2);line-height:1.75;margin-bottom:.85rem;}

/* ── CTA BAND ── */
.dl-cta-band{padding:4rem 2.5rem;text-align:center;border-bottom:0.5px solid var(--bd);}
.dl-cta-band-lbl{font-size:11px;letter-spacing:.15em;color:var(--g);text-transform:uppercase;margin-bottom:1rem;}
.dl-cta-band h2{font-family:var(--fd);font-size:32px;font-weight:700;margin-bottom:.75rem;letter-spacing:-.02em;}
.dl-cta-band p{font-size:14px;color:var(--t2);max-width:480px;margin:0 auto 2rem;line-height:1.7;}

/* ── SERVICES DETAIL ── */
.dl-svc-dt{border-bottom:0.5px solid var(--bd);}
.dl-svc-inf{padding:2.5rem 2.5rem;border-right:0.5px solid var(--bd);}
.dl-svc-inf h2{font-family:var(--fd);font-size:26px;font-weight:700;margin-bottom:.75rem;letter-spacing:-.01em;}
.dl-svc-inf>p{font-size:13px;color:var(--t2);line-height:1.75;margin-bottom:1.25rem;}
.dl-svc-steps{padding:2.5rem 2rem;}
.dl-step{display:flex;gap:1rem;margin-bottom:1.25rem;}
.dl-step-n{font-family:var(--fd);font-size:22px;font-weight:700;color:var(--g);min-width:1.75rem;line-height:1.2;}
.dl-step-t{font-size:13px;line-height:1.65;}
.dl-step-t strong{display:block;margin-bottom:2px;}
.dl-step-t span{color:var(--t2);font-size:12px;}

/* ── CONTENT PROSE ── */
.dl-prose{padding:2.5rem 2.5rem;border-bottom:0.5px solid var(--bd);}
.dl-prose h2{font-family:var(--fd);font-size:24px;font-weight:700;margin-bottom:.85rem;letter-spacing:-.01em;}
.dl-prose h3{font-family:var(--fd);font-size:18px;font-weight:700;margin:1.5rem 0 .65rem;letter-spacing:-.01em;}
.dl-prose p{font-size:13px;color:var(--t2);line-height:1.75;margin-bottom:.85rem;}
.dl-prose ul{list-style:none;margin:.5rem 0 .85rem .5rem;}
.dl-prose ul li{font-size:13px;color:var(--t2);line-height:1.65;padding-left:1.1rem;position:relative;margin-bottom:.35rem;}
.dl-prose ul li::before{content:'→';position:absolute;left:0;color:var(--g);font-size:11px;top:2px;}
.dl-prose strong{color:var(--t);font-weight:600;}

/* ── PROBLEM/SOLUTION BLOCK ── */
.dl-psb{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--bd);margin-bottom:2rem;}
.dl-psb-item{background:var(--bg2);padding:1.5rem 1.25rem;}
.dl-psb-lbl{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.6rem;}
.dl-psb-lbl.prob{color:#c05050;}
.dl-psb-lbl.sol{color:var(--g);}
.dl-psb-lbl.ben{color:#5aaf6a;}
.dl-psb-item p{font-size:12.5px;color:var(--t2);line-height:1.65;}

/* ── USE CASES GRID ── */
.dl-uc-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--bd);border:0.5px solid var(--bd);}
.dl-uc{background:var(--bg2);padding:1.5rem 1.25rem;}
.dl-uc-icon{font-size:22px;margin-bottom:.6rem;}
.dl-uc h3{font-family:var(--fd);font-size:15px;font-weight:700;margin-bottom:.4rem;}
.dl-uc p{font-size:12px;color:var(--t2);line-height:1.6;}

/* ── ABOUT / STACK ── */
.dl-stk-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
.dl-tech{background:var(--bg3);border:0.5px solid var(--bd);padding:9px 11px;font-size:12px;}
.dl-tech-cat{font-size:9px;color:var(--g);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:2px;}
.dl-vals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--bd);border-top:0.5px solid var(--bd);}
.dl-val{background:var(--bg2);padding:2rem 1.5rem;}
.dl-val h3{font-family:var(--fd);font-size:20px;font-weight:700;color:var(--g);margin-bottom:.5rem;}
.dl-val p{font-size:12.5px;color:var(--t2);line-height:1.65;}

/* ── CONTACT ── */
.dl-ct-inf{padding:3rem 2.5rem;border-right:0.5px solid var(--bd);}
.dl-ct-inf h1{font-family:var(--fd);font-size:38px;font-weight:700;margin-bottom:.85rem;line-height:1.2;letter-spacing:-.02em;}
.dl-ct-inf>p{font-size:13px;color:var(--t2);line-height:1.75;margin-bottom:2rem;}
.dl-ct-det{display:flex;flex-direction:column;gap:1rem;}
.dl-ct-it{font-size:13px;}
.dl-ct-it strong{display:block;font-size:10px;letter-spacing:.12em;color:var(--g);text-transform:uppercase;margin-bottom:2px;}
.dl-ct-frm{padding:3rem 2.5rem;}
.dl-fr{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.dl-fg{display:flex;flex-direction:column;gap:5px;}
.dl-fg label{font-size:10px;color:var(--t3);letter-spacing:.08em;text-transform:uppercase;}
.dl-fg input,.dl-fg select,.dl-fg textarea{background:var(--bg2);border:0.5px solid var(--bd);color:var(--t);padding:10px 12px;font-size:13px;font-family:var(--fb);border-radius:2px;outline:none;width:100%;}
.dl-fg input:focus,.dl-fg select:focus,.dl-fg textarea:focus{border-color:var(--g);}
.dl-fg select option{background:var(--bg2);color:var(--t);}
.dl-fb{display:block;margin-bottom:1rem;}
.dl-fb .dl-fg{width:100%;}
.dl-sub{background:var(--g);color:#fff;border:none;padding:12px;font-size:13px;font-family:var(--fb);width:100%;border-radius:2px;margin-top:.25rem;cursor:pointer;}
.dl-sub:hover{background:var(--g2);}

/* ── INTERNAL LINKS BLOCK ── */
.dl-intlinks{padding:2rem 2.5rem;border-bottom:0.5px solid var(--bd);background:var(--bg2);}
.dl-intlinks p{font-size:12px;color:var(--t3);margin-bottom:.75rem;letter-spacing:.05em;text-transform:uppercase;}
.dl-intlinks-g{display:flex;flex-wrap:wrap;gap:.6rem;}
.dl-intlink{font-size:12.5px;border:0.5px solid var(--bd);padding:5px 12px;border-radius:2px;color:var(--t2);}
.dl-intlink:hover{border-color:var(--g);color:var(--g);}

/* ── FOOTER ── */
.dl-foot{padding:1.75rem 2.5rem;display:flex;align-items:center;justify-content:space-between;border-top:0.5px solid var(--bd);flex-wrap:wrap;gap:.75rem;}
.dl-foot-logo{font-family:var(--fd);font-size:17px;color:var(--g);font-weight:700;}
.dl-foot-lnks{display:flex;gap:1.5rem;flex-wrap:wrap;}
.dl-foot-lnks a{font-size:12px;color:var(--t3);}
.dl-foot-lnks a:hover{color:var(--t2);}
.dl-foot-cp{font-size:12px;color:var(--t3);}

/* ── PRICE BAND ── */
.dl-price-band{padding:2.5rem 2.5rem;border-top:0.5px solid var(--bd);text-align:center;}
.dl-price-band h2{font-family:var(--fd);font-size:28px;font-weight:700;margin-bottom:.4rem;letter-spacing:-.02em;}
.dl-price-band p{font-size:13px;color:var(--t2);margin-bottom:1.5rem;}

/* ── CLIENTS ── */
.dl-clients{padding:2.5rem 2.5rem;border-bottom:0.5px solid var(--bd);text-align:center;}
.dl-clients-lbl{font-size:11px;letter-spacing:.15em;color:var(--t3);text-transform:uppercase;margin-bottom:1.5rem;}
.dl-cli-logos{display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap;}
.dl-cli-logo{font-family:var(--fd);font-size:20px;font-weight:700;color:var(--t2);letter-spacing:.04em;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .dl-nav{padding:0 1.25rem;}
  .dl-nav-links a{padding:0 .5rem;font-size:12px;}
  .dl-hero h1{font-size:36px;}
  .dl-stats{grid-template-columns:repeat(2,1fr);}
  .dl-sg{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dl-2col{grid-template-columns:1fr;}
  .dl-case{grid-template-columns:1fr;}
  .dl-zones-g{grid-template-columns:repeat(3,minmax(0,1fr));}
  .dl-uc-g{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dl-psb{grid-template-columns:1fr;}
  .dl-vals{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dl-fr{grid-template-columns:1fr;}
  .dl-sec,.dl-prose,.dl-faq,.dl-zones,.dl-cta-band,.dl-clients,.dl-ph{padding-left:1.25rem;padding-right:1.25rem;}
  .dl-hero{padding:3rem 1.25rem 2.5rem;}
  .dl-svc-inf,.dl-svc-steps,.dl-case-bd,.dl-case-sb,.dl-col-content,.dl-col-aside,.dl-ct-inf,.dl-ct-frm{padding:1.75rem 1.25rem;}
}
@media(max-width:600px){
  :root{--nav-h:72px;}
  .dl-nav-links{display:none;}
  .dl-hero h1{font-size:28px;}
  .dl-sg{grid-template-columns:1fr;}
  .dl-zones-g{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dl-uc-g{grid-template-columns:1fr;}
  .dl-stats{grid-template-columns:repeat(2,1fr);}
  .dl-vals{grid-template-columns:1fr;}
  .dl-ph h1{font-size:30px;}
}