/* HBE Solutions - Orange & White Theme */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
:root{
  --or:#E8630A;--ord:#C4510A;--orl:#FFF0E6;
  --w:#FFFFFF;--ow:#FAFAF8;--cr:#F5F0EA;--sa:#E8E0D4;
  --ch:#1C1C1E;--sm:#4A4A4C;--mi:#8A8A8E;--bd:#EAEAEA;
  --fd:'Syne','Outfit',sans-serif;--fb:'Outfit',sans-serif;
  --rsm:8px;--rmd:16px;--rlg:28px;--rxl:999px;
  --shs:0 2px 12px rgba(232,99,10,.08);
  --shm:0 8px 32px rgba(232,99,10,.14);
  --shl:0 24px 64px rgba(28,28,30,.18);
  --shc:0 2px 16px rgba(28,28,30,.06);
  --tr:.3s cubic-bezier(.4,0,.2,1);
}
body{font-family:var(--fb);background:var(--w);color:var(--ch);overflow-x:hidden;line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;height:76px;padding:0 3.5rem;display:flex;align-items:center;justify-content:space-between;transition:background var(--tr),box-shadow var(--tr)}
nav.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(16px);box-shadow:0 1px 20px rgba(28,28,30,.08)}
nav.on-dark:not(.scrolled) .nav-logo-text{color:white}
nav.on-dark:not(.scrolled) .nav-links a{color:rgba(255,255,255,.75)}
nav.on-dark:not(.scrolled) .nav-links a:hover{color:white}
nav.on-dark:not(.scrolled) .nav-phone{color:rgba(255,255,255,.5)}
nav.on-dark:not(.scrolled) .hamburger span{background:white}
.nav-logo{display:flex;align-items:center;gap:.7rem;flex-shrink:0}
.nav-logo-mark{width:36px;height:36px;background:var(--or);border-radius:9px;display:flex;align-items:center;justify-content:center}
.nav-logo-mark svg{width:18px;height:18px;fill:white}
.nav-logo-text{font-family:var(--fd);font-size:1.2rem;font-weight:800;color:var(--ch);letter-spacing:-.01em;transition:color var(--tr)}
.nav-logo-text span{color:var(--or)}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-links a{font-size:.875rem;font-weight:500;color:var(--sm);position:relative;transition:color var(--tr)}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:2px;background:var(--or);border-radius:2px;transition:width var(--tr)}
.nav-links a:hover{color:var(--ch)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a.active{color:var(--or);font-weight:600}
.nav-cta{background:var(--or)!important;color:white!important;padding:.5rem 1.25rem!important;border-radius:var(--rxl)!important;font-weight:700!important;font-size:.83rem!important;transition:background var(--tr),transform var(--tr)!important}
.nav-cta::after{display:none!important}
.nav-cta:hover{background:var(--ord)!important;transform:translateY(-1px)}
.nav-phone{font-size:.78rem;font-weight:600;color:var(--mi);display:flex;align-items:center;gap:.35rem;transition:color var(--tr)}
.nav-phone:hover{color:var(--or)}
.nav-phone svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:10px;background:none;border:none;z-index:102;position:relative}
.hamburger span{display:block;width:24px;height:2px;background:var(--ch);border-radius:2px;transition:transform .3s ease,opacity .3s ease}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
nav.on-dark:not(.scrolled) .hamburger span{background:white}
.hamburger.open span{background:white!important}
/* Overlay */
.mob-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:98;opacity:0;pointer-events:none;transition:opacity .3s ease}
.mob-overlay.open{opacity:1;pointer-events:all}
/* Menu drawer */
.mobile-nav{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:var(--ch);z-index:99;display:flex;flex-direction:column;padding:90px 2rem 3rem;gap:0;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 40px rgba(0,0,0,.3)}
.mobile-nav.open{transform:translateX(0)}
.mobile-nav a{font-family:var(--fd);font-size:1.35rem;color:rgba(255,255,255,.75);font-weight:700;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;transition:color .2s,padding-left .2s}
.mobile-nav a::after{content:'→';font-size:.9rem;opacity:0;transition:opacity .2s}
.mobile-nav a:hover,.mobile-nav a:active{color:white;padding-left:.5rem}
.mobile-nav a:hover::after,.mobile-nav a:active::after{opacity:1}
.mobile-nav-phone{font-size:1rem!important;font-weight:700!important;color:var(--or)!important;border-top:1px solid rgba(255,255,255,.12)!important;border-bottom:none!important;padding-top:1.5rem!important;margin-top:.5rem}
.mobile-nav-phone::after{display:none!important}

/* PAGE HERO */
.page-hero{min-height:58vh;background:var(--ch);display:flex;align-items:flex-end;padding:76px 3.5rem 5rem;position:relative;overflow:hidden}
.hero-glow{position:absolute;top:-80px;right:-60px;width:500px;height:500px;background:radial-gradient(ellipse,rgba(232,99,10,.22) 0%,transparent 65%)}
.hero-line{position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--or) 0%,transparent 60%)}
.page-hero-content{position:relative;z-index:2;max-width:1200px;width:100%;margin:0 auto}
.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:600;color:rgba(255,255,255,.3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem}
.breadcrumb a:hover{color:var(--or)}
.breadcrumb .sep{color:rgba(255,255,255,.15)}
.breadcrumb .cur{color:var(--or)}
.page-chip{display:inline-flex;align-items:center;gap:.5rem;background:rgba(232,99,10,.18);border:1px solid rgba(232,99,10,.35);border-radius:var(--rxl);padding:.32rem 1rem;font-size:.7rem;font-weight:800;color:#FFB480;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.25rem}
.page-hero h1{font-family:var(--fd);font-size:clamp(2.4rem,5vw,4.2rem);font-weight:800;color:white;line-height:1.08;letter-spacing:-.025em;margin-bottom:1.25rem}
.page-hero h1 em{font-style:italic;font-weight:400;color:#FFB480}
.page-hero-desc{font-size:1.05rem;color:rgba(255,255,255,.58);max-width:540px;line-height:1.8;margin-bottom:2rem}
.page-hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.page-hero-wave{position:absolute;bottom:-1px;left:0;right:0;z-index:3}
.page-hero-wave svg{display:block;width:100%}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--fb);font-weight:700;font-size:.875rem;border-radius:var(--rxl);padding:.78rem 1.75rem;border:none;cursor:pointer;transition:all var(--tr);letter-spacing:.01em}
.btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}
.btn-or{background:var(--or);color:white}
.btn-or:hover{background:var(--ord);transform:translateY(-2px);box-shadow:0 8px 24px rgba(232,99,10,.35)}
.btn-ghost{background:transparent;color:rgba(255,255,255,.75);border:1.5px solid rgba(255,255,255,.25)}
.btn-ghost:hover{color:white;border-color:rgba(255,255,255,.6)}
.btn-w{background:white;color:var(--ord)}
.btn-w:hover{background:var(--orl);transform:translateY(-2px)}
.btn-wo{background:transparent;color:white;border:1.5px solid rgba(255,255,255,.3)}
.btn-wo:hover{border-color:white;background:rgba(255,255,255,.07)}

/* LAYOUT */
.container{max-width:1200px;margin:0 auto}
.section{padding:6rem 3.5rem}
.section-alt{background:var(--ow)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}

.slabel{display:inline-flex;align-items:center;gap:.6rem;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--or);margin-bottom:.9rem}
.slabel::before{content:'';display:block;width:20px;height:2.5px;background:var(--or);border-radius:2px}
.slabel.lt{color:#FFB480}
.slabel.lt::before{background:#FFB480}
.stitle{font-family:var(--fd);font-size:clamp(1.9rem,3.2vw,2.7rem);font-weight:800;line-height:1.1;letter-spacing:-.025em;color:var(--ch);margin-bottom:1.25rem}
.stitle em{font-style:italic;font-weight:400;color:var(--or)}
.stitle.lt{color:white}
.stitle.lt em{color:#FFB480}
.slead{font-size:1rem;line-height:1.85;color:var(--sm);max-width:520px}
.slead.lt{color:rgba(255,255,255,.65)}

/* CARDS */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.card{background:white;border-radius:var(--rmd);padding:1.75rem;border:1px solid var(--bd);box-shadow:var(--shc);transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shm);border-color:rgba(232,99,10,.2)}
.c-ico{width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.c-ico svg{width:22px;height:22px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.c-ico.or{background:var(--orl)}.c-ico.or svg{stroke:var(--or)}
.c-ico.bl{background:#EBF5FF}.c-ico.bl svg{stroke:#2563EB}
.c-ico.ye{background:#FFFBEB}.c-ico.ye svg{stroke:#D97706}
.c-ico.gr{background:#ECFDF5}.c-ico.gr svg{stroke:#059669}
.card h3{font-family:var(--fd);font-size:1.15rem;font-weight:700;color:var(--ch);margin-bottom:.45rem}
.card p{font-size:.875rem;line-height:1.75;color:var(--sm)}

/* CHECKLIST */
.checklist{list-style:none;display:flex;flex-direction:column;gap:.8rem;margin-bottom:2rem}
.checklist li{display:flex;align-items:flex-start;gap:.7rem;font-size:.93rem;color:var(--sm);line-height:1.6}
.chk{width:20px;height:20px;flex-shrink:0;margin-top:2px;background:var(--or);border-radius:50%;display:flex;align-items:center;justify-content:center}
.chk svg{width:10px;height:10px;stroke:white;fill:none;stroke-width:3}
.checklist li strong{color:var(--ch);font-weight:600}

/* FEATURE ROWS */
.feature{display:flex;gap:1.25rem;padding:1.5rem 0;border-bottom:1px solid var(--bd)}
.feature:last-child{border-bottom:none}
.fnum{font-family:var(--fd);font-size:1.8rem;font-weight:800;color:var(--sa);line-height:1;flex-shrink:0;width:2.5rem;padding-top:.2rem}
.ftitle{font-weight:700;font-size:.95rem;color:var(--ch);margin-bottom:.3rem}
.fdesc{font-size:.875rem;line-height:1.7;color:var(--sm)}

/* QUOTE */
.quote{background:var(--orl);border-left:4px solid var(--or);border-radius:0 var(--rmd) var(--rmd) 0;padding:1.5rem 2rem;margin:2rem 0}
.quote p{font-family:var(--fd);font-size:1.1rem;font-style:italic;line-height:1.7;color:var(--ord);margin-bottom:.6rem}
.quote cite{font-size:.75rem;font-style:normal;font-weight:800;color:var(--or);letter-spacing:.08em;text-transform:uppercase}

/* ILLUS */
.illus{border-radius:var(--rlg);overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.illus.dk{background:linear-gradient(135deg,#28282a 0%,var(--ch) 100%)}
.illus.or{background:linear-gradient(135deg,var(--ord) 0%,var(--or) 100%)}
.illus svg{width:60%;opacity:.85}

/* STATS */
.srow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bd);border-radius:var(--rmd);overflow:hidden}
.sitem{background:white;padding:2.5rem 1.5rem;text-align:center}
.snum{font-family:var(--fd);font-size:2.6rem;font-weight:800;color:var(--or);display:block;line-height:1;letter-spacing:-.03em;margin-bottom:.35rem}
.slb{font-size:.8rem;color:var(--mi);font-weight:500}

/* CTA BANNER */
.cta-b{background:var(--or);border-radius:var(--rlg);padding:3rem 3.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;overflow:hidden}
.cta-b::before{content:'';position:absolute;top:-60px;right:-30px;width:260px;height:260px;background:rgba(255,255,255,.07);border-radius:50%}
.cta-b::after{content:'';position:absolute;bottom:-50px;right:120px;width:160px;height:160px;background:rgba(255,255,255,.05);border-radius:50%}
.cta-bt{position:relative;z-index:1}
.cta-bt h2{font-family:var(--fd);font-size:1.9rem;font-weight:800;color:white;margin-bottom:.35rem;letter-spacing:-.02em}
.cta-bt h2 em{font-style:italic;font-weight:400}
.cta-bt p{font-size:.9rem;color:rgba(255,255,255,.72)}
.cta-ba{display:flex;gap:1rem;flex-wrap:wrap;flex-shrink:0;position:relative;z-index:1}

/* FORM */
.fcard{background:white;border-radius:var(--rlg);padding:2.5rem;border:1px solid var(--bd);box-shadow:var(--shc)}
.ftit{font-family:var(--fd);font-size:1.4rem;font-weight:800;color:var(--ch);margin-bottom:1.5rem;letter-spacing:-.02em}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.fg{display:flex;flex-direction:column;gap:.4rem}
.fg.s2{grid-column:span 2}
.fg label{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sm)}
.fg input,.fg select,.fg textarea{background:var(--ow);border:1.5px solid var(--bd);border-radius:var(--rsm);padding:.72rem .95rem;font-family:var(--fb);font-size:.875rem;color:var(--ch);outline:none;width:100%;-webkit-appearance:none;transition:border-color var(--tr),box-shadow var(--tr)}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--or);box-shadow:0 0 0 3px rgba(232,99,10,.1);background:white}
.fg textarea{resize:vertical;min-height:100px}
.fftr{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;flex-wrap:wrap}
.fnote{font-size:.72rem;color:var(--mi);line-height:1.5}

/* CONTACT ITEMS */
.ci-list{display:flex;flex-direction:column;gap:.9rem}
.ci{display:flex;align-items:flex-start;gap:.9rem;padding:1.1rem;background:white;border-radius:var(--rmd);border:1px solid var(--bd);transition:border-color var(--tr)}
.ci:hover{border-color:rgba(232,99,10,.3)}
.ci-ico{width:40px;height:40px;background:var(--orl);border-radius:var(--rsm);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ci-ico svg{width:17px;height:17px;stroke:var(--or);fill:none;stroke-width:1.8;stroke-linecap:round}
.ci-lbl{font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--mi);margin-bottom:.2rem}
.ci-val{font-size:.9rem;font-weight:600;color:var(--ch)}
.ci-val a{color:var(--ch);transition:color var(--tr)}
.ci-val a:hover{color:var(--or)}

/* TAGS */
.tags{display:flex;flex-wrap:wrap;gap:.4rem}
.tag{background:var(--cr);border-radius:var(--rxl);padding:.28rem .8rem;font-size:.78rem;font-weight:600;color:var(--ch)}
.tag.or{background:var(--orl);color:var(--ord)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* FOOTER */
footer{background:var(--ch);padding:4rem 3.5rem 2rem}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.07)}
.ft-lname{font-family:var(--fd);font-size:1.2rem;font-weight:800;color:white}
.ft-lname span{color:var(--or)}
.ft-tag{font-size:.85rem;color:rgba(255,255,255,.38);line-height:1.7;margin-top:.75rem;max-width:250px}
.ft-phone{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.25rem;font-size:.85rem;font-weight:700;color:var(--or);transition:color var(--tr)}
.ft-phone:hover{color:#FFB480}
.ft-phone svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.ft-col-t{font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:.9rem}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.ft-links a{font-size:.85rem;color:rgba(255,255,255,.48);transition:color var(--tr)}
.ft-links a:hover{color:white}
.ft-addr{font-size:.78rem;color:rgba(255,255,255,.28);line-height:1.6;margin-top:.25rem}
.ft-bot{display:flex;align-items:center;justify-content:space-between;padding-top:1.75rem;gap:1rem;flex-wrap:wrap}
.ft-copy{font-size:.75rem;color:rgba(255,255,255,.22)}
.ft-legal{display:flex;gap:1.5rem}
.ft-legal a{font-size:.75rem;color:rgba(255,255,255,.22);transition:color var(--tr)}
.ft-legal a:hover{color:rgba(255,255,255,.6)}

/* COOKIE */
.cookie{position:fixed;bottom:1.25rem;left:1.25rem;max-width:360px;background:var(--ch);border-radius:var(--rmd);padding:1.25rem;z-index:200;box-shadow:var(--shl);border:1px solid rgba(255,255,255,.08);transition:opacity .4s,transform .4s}
.cookie.hidden{opacity:0;pointer-events:none;transform:translateY(10px)}
.cookie p{font-size:.78rem;color:rgba(255,255,255,.55);line-height:1.6;margin-bottom:.9rem}
.cookie p a{color:var(--or)}
.ck-btns{display:flex;gap:.6rem}
.ck-btns button{border:none;cursor:pointer;font-family:var(--fb);font-size:.75rem;border-radius:var(--rxl);padding:.42rem 1rem;font-weight:700}
.ck-ok{background:var(--or);color:white}
.ck-no{background:transparent;color:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.15)}
.ck-no:hover{color:white}

/* RESPONSIVE */
@media(max-width:1024px){
  nav,.section,.page-hero,footer{padding-left:2rem;padding-right:2rem}
  .two-col{grid-template-columns:1fr;gap:3rem}
  .grid3{grid-template-columns:1fr 1fr}
  .srow{grid-template-columns:1fr 1fr}
  .ft-top{grid-template-columns:1fr 1fr;gap:2rem}
  .cta-b{flex-direction:column;align-items:flex-start;padding:2.25rem}
}

/* ===== TABLETTE ===== */
@media(max-width:768px){
  .nav-links,.nav-phone{display:none}
  .hamburger{display:flex}
  .grid3,.grid2{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .fg.s2{grid-column:span 1}
  .ft-top{grid-template-columns:1fr}
  .ft-bot{flex-direction:column;align-items:flex-start;gap:.75rem}
  .page-hero{padding:76px 1.25rem 2.5rem;min-height:auto}
  .page-hero h1{font-size:clamp(1.8rem,7vw,2.8rem)}
  .section{padding:3.5rem 1.25rem}
  .srow{grid-template-columns:1fr 1fr}
  .two-col{gap:2rem}
  .stitle{font-size:clamp(1.5rem,6vw,2.2rem)}
  .cta-b{padding:2rem 1.5rem;gap:1.25rem}
  .cta-b h2{font-size:1.4rem}
}

/* ===== MOBILE (téléphone) ===== */
@media(max-width:480px){
  /* NAV */
  nav{height:64px;padding:0 1.1rem}
  .nav-logo-text{font-size:.9rem}
  .mob-menu{top:64px}

  /* SECTIONS */
  .section{padding:3rem 1.1rem}
  .page-hero{padding:64px 1.1rem 2.25rem}
  .page-hero h1{font-size:clamp(1.6rem,8vw,2.2rem);letter-spacing:-.02em}
  .page-hero-desc{font-size:.88rem}

  /* TITRES */
  .stitle{font-size:clamp(1.35rem,7vw,1.9rem);letter-spacing:-.02em}
  .slabel{font-size:.62rem}

  /* GRILLES */
  .grid3,.grid2,.srow,.srow-d{grid-template-columns:1fr}

  /* BOUTONS - touch friendly 44px min */
  .btn{padding:.85rem 1.4rem;font-size:.82rem;min-height:44px}
  .hero-actions{flex-direction:column;gap:.75rem}
  .hero-actions .btn{width:100%;justify-content:center}

  /* CTA BAND */
  .cta-b{padding:1.75rem 1.1rem;border-radius:var(--rmd);text-align:center;align-items:center}
  .cta-b h2{font-size:1.25rem}
  .cta-b p{font-size:.85rem}

  /* STATS DARK BAND */
  .stats-dark{padding:3rem 1.1rem}
  .stats-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .stat-n{font-size:2rem}

  /* FOOTER */
  .ft-top{gap:1.5rem}
  .ft-logo-text{font-size:.95rem}
  footer{padding:3rem 1.1rem 1.5rem}
  .ft-bot{font-size:.72rem;gap:.5rem}

  /* FORMS */
  .fgrid{gap:1rem}
  .fg label{font-size:.8rem}
  .fg input,.fg select,.fg textarea{font-size:.9rem;padding:.7rem .9rem;min-height:44px}
  .fg textarea{min-height:110px}
}
