.elementor-kit-27{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#2957CB;--e-global-color-text:#D2D5E1;--e-global-color-accent:#2957CB;--e-global-color-b5aeb33:#F6F7F9;--e-global-color-c58817e:#23272F;--e-global-color-5420d44:#70777f;--e-global-color-58be983:#ffffff;--e-global-color-09cc561:#0d141a;--e-global-color-a495fd4:#B8C0CC;--e-global-color-dff8941:#A8BFE4;--e-global-color-1b95cf9:#F4F6FA;--e-global-color-1986afc:#FFFFFF00;--e-global-color-77052d8:#2957CB94;--e-global-color-6ffc17a:#5E6782;--e-global-color-628093b:#2957CB30;--e-global-color-bc22066:#0E172DCC;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:38px;--e-global-typography-primary-font-weight:200;--e-global-typography-primary-text-transform:capitalize;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:50px;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-text-transform:capitalize;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:28px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:22px;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:capitalize;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:14px;--e-global-typography-5535e8e-font-family:"Poppins";--e-global-typography-5535e8e-font-size:3rem;--e-global-typography-5535e8e-font-weight:700;--e-global-typography-c83476d-font-family:"Poppins";--e-global-typography-c83476d-font-size:2.5rem;--e-global-typography-c83476d-font-weight:bold;--e-global-typography-ff8f921-font-family:"Poppins";--e-global-typography-ff8f921-font-size:2.3rem;--e-global-typography-ff8f921-font-weight:bold;--e-global-typography-887fca2-font-family:"Manrope";--e-global-typography-887fca2-font-size:1rem;--e-global-typography-887fca2-font-weight:400;--e-global-typography-2142591-font-family:"Manrope";--e-global-typography-2142591-font-size:1rem;--e-global-typography-2142591-font-weight:700;--e-global-typography-6e52843-font-family:"Manrope";--e-global-typography-6e52843-font-size:1rem;--e-global-typography-6e52843-font-weight:500;--e-global-typography-95e6f46-font-family:"Inter";--e-global-typography-95e6f46-font-size:68px;--e-global-typography-95e6f46-font-weight:200;--e-global-typography-95e6f46-text-transform:capitalize;--e-global-typography-95e6f46-font-style:normal;--e-global-typography-95e6f46-text-decoration:none;--e-global-typography-95e6f46-line-height:76px;--e-global-typography-10e4654-font-family:"Inter";--e-global-typography-10e4654-font-size:48px;--e-global-typography-10e4654-font-weight:200;--e-global-typography-10e4654-text-transform:none;--e-global-typography-10e4654-font-style:normal;--e-global-typography-10e4654-text-decoration:none;--e-global-typography-10e4654-line-height:60px;--e-global-typography-192b1e9-font-family:"Inter";--e-global-typography-192b1e9-font-size:18px;--e-global-typography-192b1e9-font-weight:400;--e-global-typography-192b1e9-text-transform:capitalize;--e-global-typography-192b1e9-font-style:normal;--e-global-typography-192b1e9-text-decoration:none;--e-global-typography-192b1e9-line-height:22px;--e-global-typography-9d4a250-font-family:"Inter";--e-global-typography-9d4a250-font-size:14px;--e-global-typography-9d4a250-font-weight:400;--e-global-typography-9d4a250-text-transform:capitalize;--e-global-typography-9d4a250-font-style:normal;--e-global-typography-9d4a250-text-decoration:none;--e-global-typography-20ed5ec-font-family:"Inter";--e-global-typography-20ed5ec-font-size:12px;--e-global-typography-20ed5ec-font-weight:400;--e-global-typography-20ed5ec-text-transform:capitalize;--e-global-typography-20ed5ec-font-style:normal;--e-global-typography-20ed5ec-text-decoration:none;--e-global-typography-20ed5ec-line-height:14px;--e-global-typography-413fab7-font-family:"Inter";--e-global-typography-413fab7-font-size:18px;--e-global-typography-413fab7-font-weight:300;--e-global-typography-413fab7-text-transform:none;--e-global-typography-413fab7-font-style:normal;--e-global-typography-413fab7-text-decoration:none;--e-global-typography-413fab7-line-height:2.2em;--e-global-typography-195417a-font-family:"Inter";--e-global-typography-195417a-font-size:12px;--e-global-typography-195417a-font-weight:300;--e-global-typography-195417a-text-transform:capitalize;--e-global-typography-195417a-font-style:normal;--e-global-typography-195417a-text-decoration:none;--e-global-typography-195417a-line-height:22px;--e-global-typography-195417a-letter-spacing:0px;background-color:var( --e-global-color-1b95cf9 );}.elementor-kit-27 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-27{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-line-height:1.4em;--e-global-typography-accent-font-size:14px;--e-global-typography-95e6f46-font-size:52px;--e-global-typography-95e6f46-line-height:1.2em;--e-global-typography-195417a-font-size:11px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-27{--e-global-typography-primary-font-size:28px;--e-global-typography-c83476d-font-size:1.9rem;--e-global-typography-ff8f921-font-size:1.9rem;--e-global-typography-95e6f46-font-size:35px;--e-global-typography-95e6f46-line-height:1.3em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */:root{
    --lham-navy:#0A2D62;
    --lham-blue:#1E88E5;
    --lham-blue-deep:#0B4EA9;
    --lham-gold:#D4AF37;
    --lham-gold-light:#F3D36A;
    --lham-body:#526079;
    --lham-surface:#FFFFFF;
    --lham-surface-alt:#F5F9FF;
    --lham-border:rgba(30,136,229,.12);
    --lham-ink:#050B1A;
    --lham-ink-soft:#0C1730;
    --lham-mist:#AEC1E8;
    --lham-line:rgba(255,255,255,.1);
}

body{ font-family:'Inter',sans-serif; }

img.django-icon.django-icon-item{
    height: 36px;
    width: 36px;
}
i.fa-solid.add-marge{
    margin-left: 1ex;
}
/* ---------- Eyebrows ---------- */
.lham-eyebrow,
.lham-eyebrow-light{
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.78rem;
    font-weight:600;
    font-family:'Inter',sans-serif;
}
.lham-eyebrow{ color:var(--lham-blue-deep); }
.lham-eyebrow-light{ color:var(--lham-gold-light); }
.lham-eyebrow::before,
.lham-eyebrow-light::before{
    content:"";
    width:26px;
    height:2px;
    background:linear-gradient(90deg,var(--lham-blue),var(--lham-gold));
}

/* ---------- Section wrappers & headings ---------- */
.lham-section{ padding:100px 20px; }
.lham-section-tint{ background:var(--lham-surface-alt); }
.lham-section-white{ background:#fff; }
.lham-section-inner{ max-width:96%; margin:0 auto; }
.lham-section-head{ max-width:80%; margin:0 auto 50px; text-align:center; }
.lham-section-head h2{
    font-family:'Space Grotesk',sans-serif;
    color:var(--lham-navy);
    font-size:clamp(1.6rem,3vw,2.2rem);
    font-weight:700;
    letter-spacing:-.01em;
    margin:14px 0 16px;
}
.lham-section-head p{ color:var(--lham-body); font-size:1rem; line-height:1.75; }
.lham-section-head.lham-on-dark h2{ color:#fff; }
.lham-section-head.lham-on-dark p{ color:var(--lham-mist); }

/* ---------- Buttons ---------- */
.lham-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    padding:14px 26px;
    border-radius:50px;
    font-family:'Inter',sans-serif;
    font-weight:600;
    font-size:.95rem;
    transition:.3s ease;
    border:1px solid transparent;
    cursor:pointer;
}

.lham-btn-blue{ color:#fff; background:linear-gradient(135deg,var(--lham-blue),var(--lham-blue-deep)); }
.lham-btn-blue:hover{ background:linear-gradient(135deg,var(--lham-gold),var(--lham-gold-light)); color:#05142B; }
.lham-btn-gold{ color:#05142B; background:linear-gradient(135deg,var(--lham-gold),var(--lham-gold-light)); }
.lham-btn-gold:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(212,175,55,.3); }
.lham-btn-outline-light{ color:#fff; background:transparent; border-color:rgba(255,255,255,.28); }
.lham-btn-outline-light:hover{ border-color:var(--lham-gold-light); color:var(--lham-gold-light); }
.lham-btn-outline-navy{ color:var(--lham-navy); background:transparent; border-color:var(--lham-border); }
.lham-btn-outline-navy:hover{ border-color:var(--lham-blue-deep); color:var(--lham-blue-deep); }
.lham-btn:focus-visible{ outline:2px solid var(--lham-gold); outline-offset:3px; }
.lham-btn i{ font-size:.85em; transition:transform .3s ease; }
.lham-btn:hover i.fa-arrow-right{ transform:translateX(4px); }

/* ---------- Feature / value cards ---------- */
.lham-feature-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:28px; }
.lham-feature-card{
    background:#fff;
    border:1px solid var(--lham-border);
    border-radius:18px;
    padding:30px 26px;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.lham-feature-card:hover{ transform:translateY(-6px); box-shadow:0 20px 36px rgba(11,78,169,.1); border-color:transparent; }
.lham-feature-icon{
    width:52px; height:52px; border-radius:14px;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, rgba(30,136,229,.12), rgba(212,175,55,.14));
    margin-bottom:20px;
}
.lham-feature-icon i{ font-size:22px; color:var(--lham-blue-deep); }
.lham-feature-card h3{ font-family:'Space Grotesk',sans-serif; color:var(--lham-navy); font-size:1.15rem; font-weight:700; margin:0 0 10px; }
.lham-feature-card p{ color:var(--lham-body); font-size:.94rem; line-height:1.7; margin:0; }

/* ---------- Process steps ---------- */
.lham-process{ position:relative; isolation:isolate; background:var(--lham-ink-soft); padding:100px 20px; overflow:hidden; }
.lham-process::before{
    content:""; position:absolute; inset:0; z-index:-1;
    background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.05) 1px, transparent 1.6px);
    background-size:26px 26px;
}
.lham-process-inner{ max-width:96%; margin:0 auto; }
.lham-process-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(30%,1fr)); }
.lham-process-grid.quattro{ display:grid; grid-template-columns:repeat(auto-fit,minmax(23%,1fr)); }
.lham-process-step{ padding:0 30px; }
.lham-process-step:not(:first-child){ border-left:1px solid var(--lham-line); }
.lham-process-num{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:2.2rem; color:var(--lham-gold-light); margin:0 0 14px; }
.lham-process-step h3{ font-family:'Space Grotesk',sans-serif; color:#fff; font-size:1.1rem; font-weight:700; margin:0 0 10px; }
.lham-process-step p{ color:var(--lham-mist); font-size:.92rem; line-height:1.7; margin:0; }
@media (max-width:768px){
    .lham-process-grid, .lham-process-grid.quattro{ display:grid; grid-template-columns:repeat(auto-fit,minmax(46%,1fr)); }
    .lham-process-grid{ grid-template-columns:1fr; gap:36px; }
    .lham-process-step{ padding:0; }
    .lham-process-step:not(:first-child){ border-left:none; border-top:1px solid var(--lham-line); padding-top:32px; }
}

/* ---------- FAQ accordion ---------- */
.lham-faq{ background:#fff; padding:90px 20px; }
.lham-faq-inner{ max-width:66%; margin:0 auto; }
.lham-faq-item{ border-bottom:1px solid var(--lham-border); }
.lham-faq-item summary{
    list-style:none; cursor:pointer; padding:22px 4px;
    display:flex; justify-content:space-between; align-items:center; gap:16px;
    font-family:'Space Grotesk',sans-serif; font-weight:600; color:var(--lham-navy); font-size:1.02rem;
}
.lham-faq-item summary::-webkit-details-marker{ display:none; }
.lham-faq-item summary i{ transition:transform .3s ease; color:var(--lham-blue-deep); flex-shrink:0; }
.lham-faq-item[open] summary i{ transform:rotate(180deg); }
.lham-faq-item p{ color:var(--lham-body); font-size:.95rem; line-height:1.75; padding:0 4px 24px; margin:0; }

/* ---------- Page hero (services / à propos / contact / blog) ---------- */
.lham-page-hero{ position:relative; isolation:isolate; background:var(--lham-ink); padding:100px 20px 90px; overflow:hidden; }
.lham-page-hero::before{
    content:""; position:absolute; inset:0; z-index:-1;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(255,255,255,.07) 1px, transparent 1.6px),
        radial-gradient(600px circle at 90% 0%, rgba(30,136,229,.28), transparent 60%),
        radial-gradient(480px circle at 4% 100%, rgba(212,175,55,.15), transparent 60%);
    background-size:26px 26px, auto, auto;
}
.lham-page-hero-inner{ max-width:96%; margin:0 auto; display:grid; grid-template-columns:1.2fr .8fr; gap:50px; align-items:center; }
.lham-page-hero h1{
    font-family:'Space Grotesk',sans-serif; color:#fff;
    font-size:clamp(2rem,3.6vw,2.7rem); line-height:1.18; letter-spacing:-.01em; font-weight:700; margin:18px 0 20px;
}
.lham-page-hero p{ color:var(--lham-mist); font-size:1.02rem; line-height:1.75; max-width:50ch; margin:0 0 30px; }
.lham-page-hero-actions{ display:flex; flex-wrap:wrap; gap:16px; }
.lham-page-hero-actions a.lham-btn, .lham-cta-actions a.lham-btn {
    text-decoration: none;
}
.lham-page-hero-icon{
    width:clamp(140px,20vw,190px); height:clamp(140px,20vw,190px); border-radius:50%;
    margin:0 auto; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,var(--lham-blue),var(--lham-blue-deep));
    box-shadow:0 0 0 10px rgba(30,136,229,.1), 0 0 60px rgba(212,175,55,.28);
    position:relative;
}
.lham-page-hero-icon::before{ content:""; position:absolute; inset:-18px; border-radius:50%; border:1px dashed rgba(255,255,255,.18); }
.lham-page-hero-icon i{ font-size:clamp(46px,7vw,64px); color:var(--lham-gold-light); }
@media (max-width:860px){
    .lham-page-hero-inner{ grid-template-columns:1fr; text-align:center; }
    .lham-page-hero p{ margin-left:auto; margin-right:auto; }
    .lham-page-hero-actions{ justify-content:center; }
    .lham-page-hero-icon{ margin-top:20px; }
}

/* ---------- Stat strip ---------- */
.lham-stats{ background:#fff; padding:50px 20px; border-top:1px solid var(--lham-border); border-bottom:1px solid var(--lham-border); }
.lham-stats-grid{ max-width:96%; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); text-align:center; }
.lham-stat{ padding:0 20px; border-left:1px solid var(--lham-border); }
.lham-stat:first-child{ border-left:none; }
.lham-stat-num{
    display:block; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(1.6rem,3vw,2.2rem);
    background:linear-gradient(135deg,var(--lham-blue-deep),var(--lham-gold));
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.lham-stat-label{ display:block; margin-top:8px; font-size:.82rem; color:var(--lham-body); }
@media (max-width:720px){
    .lham-stats-grid{ grid-template-columns:repeat(2,1fr); gap:28px 0; }
    .lham-stat{ border-left:none; border-top:1px solid var(--lham-border); padding:20px 12px 0; }
    .lham-stat:nth-child(-n+2){ border-top:none; padding-top:0; }
}

/* ---------- CTA banner ---------- */
.lham-cta{
    position:relative; isolation:isolate;
    background:linear-gradient(135deg, var(--lham-ink) 0%, var(--lham-blue-deep) 60%, var(--lham-ink) 100%);
    padding:90px 20px; text-align:center; overflow:hidden;
}
.lham-cta::before{ content:""; position:absolute; inset:0; z-index:-1; background-image:radial-gradient(520px circle at 50% 0%, rgba(212,175,55,.22), transparent 65%); }
.lham-cta-inner{ max-width:80%; margin:0 auto; }
.lham-cta h2{ font-family:'Space Grotesk',sans-serif; color:#fff; font-size:clamp(1.8rem,3.4vw,2.4rem); font-weight:700; letter-spacing:-.01em; margin:0 0 18px; }
.lham-cta p{ color:var(--lham-mist); font-size:1.02rem; line-height:1.75; margin:0 0 34px; }
.lham-cta-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:50px; }

/* ---------- Header / navigation ---------- */
.lham-nav{ position:sticky; top:0; z-index:999; background:rgba(5,11,26,.85); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--lham-line); }
.lham-nav-inner{ max-width:96%; margin:0 auto; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.lham-nav-logo{ display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.lham-nav-logo-mark{
    width:66px; height:66px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    /*background:linear-gradient(135deg,var(--lham-blue),var(--lham-blue-deep));*/
    color:#fff;
    font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.75rem;
}

.lham-nav-logo-text{ font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:.03em; color:#fff; font-size:1.05rem; }
.lham-nav-toggle-input{ display:none; }
.lham-nav-toggle{ display:none; width:28px; height:20px; flex-direction:column; justify-content:space-between; cursor:pointer; }
.lham-nav-toggle span{ display:block; height:2px; background:#fff; border-radius:2px; transition:.3s ease; }
.lham-nav-menu{ display:flex; align-items:center; gap:30px; }
.lham-nav-menu > a{ color:var(--lham-mist); text-decoration:none; font-size:.92rem; font-weight:500; transition:color .25s ease; }
.lham-nav-menu > a:hover{ color:#fff; }
.lham-nav-dropdown{ position:relative; }
.lham-nav-dropdown summary{
    list-style:none; display:inline-flex; align-items:center; gap:7px;
    color:var(--lham-mist); font-size:.92rem; font-weight:500; cursor:pointer;
}
.lham-nav-dropdown summary::-webkit-details-marker{ display:none; }
.lham-nav-dropdown summary:hover{ color:#fff; }
.lham-nav-dropdown summary i{ font-size:.7rem; transition:transform .25s ease; }
.lham-nav-dropdown[open] summary i{ transform:rotate(180deg); }
.lham-nav-dropdown-panel{
    position:absolute; top:calc(100% + 16px); left:50%; transform:translateX(-50%);
    background:var(--lham-ink-soft); border:1px solid var(--lham-line); border-radius:14px; padding:10px;
    display:flex; flex-direction:column; min-width:220px; box-shadow:0 20px 40px rgba(0,0,0,.35);
}
.lham-nav-dropdown-panel a{ color:var(--lham-mist); text-decoration:none; font-size:.88rem; padding:10px 12px; border-radius:8px; transition:.2s ease; }
.lham-nav-dropdown-panel a:hover{ background:rgba(255,255,255,.06); color:#fff; }
.lham-nav-cta{ color:#fff !important; background:linear-gradient(135deg,var(--lham-blue),var(--lham-blue-deep)); padding:10px 20px; border-radius:50px; }
.lham-nav-cta:hover{ background:linear-gradient(135deg,var(--lham-gold),var(--lham-gold-light)) !important; color:#05142B !important; }
@media (max-width:900px){
    .lham-nav-toggle{ display:flex; }
    .lham-nav-menu{
        position:absolute; top:100%; left:0; right:0; background:var(--lham-ink-soft); border-bottom:1px solid var(--lham-line);
        flex-direction:column; align-items:stretch; gap:4px; padding:14px; max-height:0; overflow:hidden; transition:max-height .35s ease;
    }
    .lham-nav-toggle-input:checked ~ .lham-nav-menu{ max-height:520px; }
    .lham-nav-menu > a, .lham-nav-dropdown summary{ padding:12px 10px; border-radius:8px; }
    .lham-nav-menu > a:hover, .lham-nav-dropdown summary:hover{ background:rgba(255,255,255,.05); }
    .lham-nav-dropdown-panel{ position:static; transform:none; box-shadow:none; margin-top:4px; background:rgba(255,255,255,.03); }
    .lham-nav-cta{ text-align:center; margin-top:6px; }
    .lham-nav-toggle-input:checked ~ .lham-nav-toggle span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
    .lham-nav-toggle-input:checked ~ .lham-nav-toggle span:nth-child(2){ opacity:0; }
    .lham-nav-toggle-input:checked ~ .lham-nav-toggle span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }
}

/* ---------- Footer ---------- */
.lham-footer{ background:var(--lham-ink); padding:90px 20px 32px; }
.lham-footer-inner{ max-width:96%; margin:0 auto; }
.lham-footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1.2fr; gap:40px; }
.lham-footer-brand-mark{
    display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%;
    background:linear-gradient(135deg,var(--lham-blue),var(--lham-blue-deep));
    font-family:'Space Grotesk',sans-serif; font-weight:700; color:#fff; font-size:.8rem; margin-bottom:18px;
}
.lham-footer-col p{ color:var(--lham-mist); font-size:.9rem; line-height:1.75; margin:0 0 22px; max-width:32ch; }
.lham-footer-social{ display:flex; gap:10px; }
.lham-footer-social a{
    width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.14);
    display:flex; align-items:center; justify-content:center; color:var(--lham-mist); text-decoration:none; transition:.3s ease;
}
.lham-footer-social a:hover{ border-color:var(--lham-gold); color:var(--lham-gold-light); }
.lham-footer-col h4{ font-family:'Space Grotesk',sans-serif; color:#fff; font-size:1rem; font-weight:600; letter-spacing:.02em; margin:0 0 20px; }
.lham-footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.lham-footer-col ul a{ color:var(--lham-mist); text-decoration:none; font-size:.9rem; transition:color .25s ease; }
.lham-footer-col ul a:hover{ color:var(--lham-gold-light); }
.lham-footer-col ul.lham-footer-contact li{ display:flex; align-items:flex-start; gap:10px; color:var(--lham-mist); font-size:.9rem; line-height:1.6; }
.lham-footer-col ul.lham-footer-contact i{ color:var(--lham-gold-light); font-size:.9rem; margin-top:3px; width:14px; }
.lham-footer-bottom{
    margin-top:56px; padding-top:26px; border-top:1px solid var(--lham-line);
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; font-size:.84rem; color:var(--lham-mist);
}
.lham-footer-legal{ display:flex; gap:22px; flex-wrap:wrap; }
.lham-footer-legal a{ color:inherit; text-decoration:none; }
.lham-footer-legal a:hover{ color:var(--lham-gold-light); }
@media (max-width:860px){ .lham-footer-grid{ grid-template-columns:1fr 1fr; gap:36px 28px; } }
@media (max-width:520px){ .lham-footer-grid{ grid-template-columns:1fr; } }

/* ---------- Simple legal / content page ---------- */
.lham-legal-hero{ background:var(--lham-surface-alt); border-bottom:1px solid var(--lham-border); padding:60px 20px 40px; text-align:center; }
.lham-legal-hero h1{ font-family:'Space Grotesk',sans-serif; color:var(--lham-navy); font-size:clamp(1.7rem,3vw,2.2rem); font-weight:700; margin:14px 0 8px; }
.lham-legal-hero p{ color:var(--lham-body); font-size:.92rem; }
.lham-legal-body{ background:#fff; padding:60px 20px 100px; }
.lham-legal-body-inner{ max-width:760px; margin:0 auto; }
.lham-legal-notice{
    background:var(--lham-surface-alt); border:1px solid var(--lham-border); border-left:4px solid var(--lham-gold);
    border-radius:10px; padding:20px 22px; margin:0 0 40px; font-size:.9rem; color:var(--lham-body); line-height:1.7;
}
.lham-legal-notice strong{ color:var(--lham-navy); }
.lham-legal-body-inner h2{ font-family:'Space Grotesk',sans-serif; color:var(--lham-navy); font-size:1.25rem; font-weight:700; margin:40px 0 14px; }
.lham-legal-body-inner h2:first-of-type{ margin-top:0; }
.lham-legal-body-inner p, .lham-legal-body-inner li{ color:var(--lham-body); font-size:.96rem; line-height:1.85; }
.lham-legal-body-inner ul{ padding-left:22px; margin:0 0 18px; }
.lham-legal-body-inner p{ margin:0 0 18px; }
.lham-legal-body-inner strong{ color:var(--lham-navy); }

/* ---------- Card grid (blog & portfolio) ---------- */
a.lham-content-card.dec{
    text-decoration: none;
}
.lham-card-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(31%,1fr)); gap:28px; }
.lham-content-card{ background:#fff; border:1px solid var(--lham-border); border-radius:20px; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease; text-decoration:none; display:block; }
.lham-content-card:hover{ transform:translateY(-8px); box-shadow:0 24px 48px rgba(11,78,169,.14); }
.lham-content-thumb{ height:180px; display:flex; align-items:center; justify-content:center; position:relative; }
.lham-content-thumb i{ font-size:44px; color:rgba(255,255,255,.85); }
.lham-thumb-a{ background:linear-gradient(135deg,var(--lham-blue),var(--lham-blue-deep)); }
.lham-thumb-b{ background:linear-gradient(135deg,var(--lham-gold),#B8862B); }
.lham-thumb-c{ background:linear-gradient(135deg,var(--lham-navy),var(--lham-ink)); }
.lham-thumb-d{ background:linear-gradient(135deg,var(--lham-blue-deep),var(--lham-navy)); }
.lham-content-tag{
    position:absolute; top:14px; left:14px; background:rgba(255,255,255,.18); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
    color:#fff; font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; padding:6px 12px; border-radius:50px;
}
.lham-content-body{ padding:24px; }
.lham-content-body h3{ font-family:'Space Grotesk',sans-serif; color:var(--lham-navy); font-size:1.1rem; font-weight:700; margin:0 0 8px; }
.lham-content-meta{ display:flex; gap:14px; align-items:center; font-size:.78rem; color:var(--lham-body); margin-bottom:12px; }
.lham-content-body p{ color:var(--lham-body); font-size:.9rem; line-height:1.65; margin:0 0 16px; }
.lham-content-link{ color:var(--lham-blue-deep); font-size:.88rem; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.lham-content-card:hover .lham-content-link{ color:var(--lham-gold); }
.lham-content-card:hover .lham-content-link i{ transform:translateX(4px); }
.lham-content-link i{ transition:transform .3s ease; font-size:.8em; }

/* ---------- Bouton flottant WhatsApp ---------- */
.lham-whatsapp-float{
    position:fixed;
    bottom:100px;
    right:24px;
    z-index:1000;
    width:60px;
    height:60px;
    border-radius:50%;
    background:#25D366;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 24px rgba(37,211,102,.4);
    text-decoration:none;
    animation:lham-wa-pulse 2.4s ease-in-out infinite;
}
.lham-whatsapp-float i{ font-size:30px; color:#fff; }
.lham-whatsapp-float:hover{ transform:scale(1.08); }
.lham-whatsapp-tooltip{
    position:absolute;
    right:calc(100% + 14px);
    top:50%;
    transform:translateY(-50%);
    background:var(--lham-ink);
    color:#fff;
    padding:8px 14px;
    border-radius:8px;
    font-size:.85rem;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease;
}
.lham-whatsapp-float:hover .lham-whatsapp-tooltip{ opacity:1; }
@keyframes lham-wa-pulse{
    0%,100%{ box-shadow:0 8px 24px rgba(37,211,102,.4), 0 0 0 0 rgba(37,211,102,.5); }
    50%{ box-shadow:0 8px 24px rgba(37,211,102,.4), 0 0 0 12px rgba(37,211,102,0); }
}
@media (max-width:520px){
    .lham-whatsapp-float{ width:54px; height:54px; bottom:18px; right:18px; }
    .lham-whatsapp-float i{ font-size:26px; }
    .lham-whatsapp-tooltip{ display:none; }
}

/* ---------- Tech stack chips ---------- */
.lham-tech-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:18px; }
.lham-tech-item{
    background:#fff; border:1px solid var(--lham-border); border-radius:16px;
    padding:26px 16px; display:flex; flex-direction:column; align-items:center; gap:12px;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.lham-tech-item:hover{ transform:translateY(-6px); box-shadow:0 16px 30px rgba(11,78,169,.1); border-color:transparent; }
.lham-tech-item i{ font-size:34px; color:var(--lham-blue-deep); transition:color .3s ease; }
.lham-tech-item:hover i{ color:var(--lham-gold); }
.lham-tech-item span{ font-size:.82rem; font-weight:600; color:var(--lham-navy); }

/* ---------- Services grid (identique à celle de l'accueil, migrée ici pour réutilisation) ---------- */
.lham-services{
    position:relative;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(31%,1fr));
    gap:28px;
    padding:64px 20px;
    isolation:isolate;
}
.lham-services::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(30,136,229,.16) 1px, transparent 1.6px),
        radial-gradient(560px circle at 88% -8%, rgba(212,175,55,.14), transparent 60%),
        radial-gradient(480px circle at -8% 108%, rgba(30,136,229,.12), transparent 60%);
    background-size:26px 26px, auto, auto;
}
.service-card{
    position:relative;
    background:var(--lham-surface);
    border-radius:20px;
    padding:38px 32px;
    border:1px solid var(--lham-border);
    box-shadow:0 4px 20px rgba(10,45,98,.06);
    transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease, border-color .4s ease;
    overflow:hidden;
}
.service-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg, var(--lham-blue), var(--lham-gold), var(--lham-blue-deep));
    background-size:200% 100%;
    transition:background-position .6s ease;
}
.service-card:hover::before{ background-position:100% 0; }
.service-card:hover{
    transform:translateY(-8px);
    box-shadow:0 24px 48px rgba(11,78,169,.16), 0 0 0 1px rgba(212,175,55,.22);
    border-color:transparent;
}
.service-card a.service-btn, a.lham-btn.lham-btn-blue{
    text-decoration: none;
}
.service-icon{
    position:relative;
    width:76px;
    height:76px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:28px;
    background:linear-gradient(135deg, var(--lham-blue), var(--lham-blue-deep));
    z-index:1;
}
.service-icon::before{
    content:"";
    position:absolute;
    inset:-4px;
    border-radius:50%;
    z-index:-1;
    background:conic-gradient(from 0deg, var(--lham-blue), var(--lham-gold), var(--lham-blue-deep), var(--lham-blue));
    opacity:0;
    transition:opacity .4s ease;
    animation:lham-spin 5s linear infinite;
    animation-play-state:paused;
}
.service-card:hover .service-icon::before{ opacity:1; animation-play-state:running; }
@keyframes lham-spin{ to{ transform:rotate(360deg); } }
.service-icon i{ font-size:32px; color:var(--lham-gold); }
.service-card h3{
    font-family:'Space Grotesk', sans-serif;
    color:var(--lham-navy);
    font-size:1.4rem;
    letter-spacing:-.01em;
    margin:0 0 14px;
    font-weight:700;
}
.service-card p{ color:var(--lham-body); font-size:.98rem; line-height:1.75; margin:0 0 26px; }
.service-highlights{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:9px; }
.service-highlights li{ display:flex; align-items:center; gap:10px; font-size:.88rem; color:var(--lham-body); }
.service-highlights i{ color:var(--lham-gold); font-size:.72rem; width:16px; flex-shrink:0; }
.service-btn{
    display:inline-flex;
    align-items:center;
    gap:9px;
    text-decoration:none;
    padding:12px 24px;
    border-radius:50px;
    font-weight:600;
    font-size:.92rem;
    color:#fff;
    background:linear-gradient(135deg, var(--lham-blue), var(--lham-blue-deep));
    transition:background .35s ease, color .35s ease, transform .2s ease;
}
.service-btn:hover{ background:linear-gradient(135deg, var(--lham-gold), var(--lham-gold-light)); color:#05142B; }
.service-btn:focus-visible{ outline:2px solid var(--lham-gold); outline-offset:3px; }
.service-btn i{ transition:transform .3s ease; font-size:.85em; }
.service-btn:hover i{ transform:translateX(5px); }
@media (max-width:480px){
    .lham-services{ padding:48px 16px; }
    .service-card{ padding:30px 24px; }
}
/* ---------- Start project ---------- */
.lham-project-form{ max-width:66%; margin:0 auto; background:#fff; border:1px solid var(--lham-border); border-radius:20px; padding:40px; box-shadow:0 4px 24px rgba(10,45,98,.06); }
.lham-project-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.lham-project-form-field{ margin-bottom:20px; }
.lham-project-form label{ display:block; font-size:.85rem; font-weight:600; color:var(--lham-navy); margin-bottom:8px; }
.lham-project-form-hint{ display:block; font-size:.78rem; color:var(--lham-body); font-weight:400; margin-top:4px; }
.lham-project-form select#lp-budget, .lham-project-form select#lp-timeline{
    height: 50px;
}
.lham-project-form input, .lham-project-form select, .lham-project-form textarea{
    width:100%; padding:13px 16px; border:1px solid var(--lham-border); border-radius:10px;
    font-family:'Inter',sans-serif; font-size:.95rem; color:var(--lham-navy); background:#fff; transition:border-color .25s ease;
}
.lham-project-form input:focus, .lham-project-form select:focus, .lham-project-form textarea:focus{ outline:none; border-color:var(--lham-blue); }
.lham-project-form textarea{ resize:vertical; min-height:130px; }
.lham-project-checkboxes{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.lham-project-checkbox{
    display:flex; align-items:center; gap:10px; border:1px solid var(--lham-border); border-radius:10px; padding:12px 14px;
    font-size:.9rem; color:var(--lham-navy); cursor:pointer; transition:border-color .25s ease, background .25s ease;
}
.lham-project-checkbox:has(input:checked){ border-color:var(--lham-blue); background:var(--lham-surface-alt); }
.lham-project-checkbox input{ width:auto; accent-color:var(--lham-blue); }
.lham-project-form button{ width:100%; justify-content:center; }
@media (max-width:640px){
    .lham-project-form{ padding:28px 22px; }
    .lham-project-form-row, .lham-project-checkboxes{ grid-template-columns:1fr; }
}


/* ---------- Services grid (identique à celle de l'accueil, migrée ici pour réutilisation) ---------- */
.lham-services{
    position:relative;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:28px;
    padding:64px 20px;
    isolation:isolate;
}
.lham-services::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(30,136,229,.16) 1px, transparent 1.6px),
        radial-gradient(560px circle at 88% -8%, rgba(212,175,55,.14), transparent 60%),
        radial-gradient(480px circle at -8% 108%, rgba(30,136,229,.12), transparent 60%);
    background-size:26px 26px, auto, auto;
}
.service-card{
    position:relative;
    background:var(--lham-surface);
    border-radius:20px;
    padding:38px 32px;
    border:1px solid var(--lham-border);
    box-shadow:0 4px 20px rgba(10,45,98,.06);
    transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease, border-color .4s ease;
    overflow:hidden;
}
.service-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg, var(--lham-blue), var(--lham-gold), var(--lham-blue-deep));
    background-size:200% 100%;
    transition:background-position .6s ease;
}
.service-card:hover::before{ background-position:100% 0; }
.service-card:hover{
    transform:translateY(-8px);
    box-shadow:0 24px 48px rgba(11,78,169,.16), 0 0 0 1px rgba(212,175,55,.22);
    border-color:transparent;
}
.service-icon{
    position:relative;
    width:76px;
    height:76px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:28px;
    background:linear-gradient(135deg, var(--lham-blue), var(--lham-blue-deep));
    z-index:1;
}
.service-icon::before{
    content:"";
    position:absolute;
    inset:-4px;
    border-radius:50%;
    z-index:-1;
    background:conic-gradient(from 0deg, var(--lham-blue), var(--lham-gold), var(--lham-blue-deep), var(--lham-blue));
    opacity:0;
    transition:opacity .4s ease;
    animation:lham-spin 5s linear infinite;
    animation-play-state:paused;
}
.service-card:hover .service-icon::before{ opacity:1; animation-play-state:running; }
@keyframes lham-spin{ to{ transform:rotate(360deg); } }
.service-icon i{ font-size:32px; color:var(--lham-gold); }
.service-card h3{
    font-family:'Space Grotesk', sans-serif;
    color:var(--lham-navy);
    font-size:1.4rem;
    letter-spacing:-.01em;
    margin:0 0 14px;
    font-weight:700;
}
.service-card p{ color:var(--lham-body); font-size:.98rem; line-height:1.75; margin:0 0 26px; }
.service-highlights{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:9px; }
.service-highlights li{ display:flex; align-items:center; gap:10px; font-size:.88rem; color:var(--lham-body); }
.service-highlights i{ color:var(--lham-gold); font-size:.72rem; width:16px; flex-shrink:0; }
.service-btn{
    display:inline-flex;
    align-items:center;
    gap:9px;
    text-decoration:none;
    padding:12px 24px;
    border-radius:50px;
    font-weight:600;
    font-size:.92rem;
    color:#fff;
    background:linear-gradient(135deg, var(--lham-blue), var(--lham-blue-deep));
    transition:background .35s ease, color .35s ease, transform .2s ease;
}
.service-btn:hover{ background:linear-gradient(135deg, var(--lham-gold), var(--lham-gold-light)); color:#05142B; }
.service-btn:focus-visible{ outline:2px solid var(--lham-gold); outline-offset:3px; }
.service-btn i{ transition:transform .3s ease; font-size:.85em; }
.service-btn:hover i{ transform:translateX(5px); }
@media (max-width:480px){
    .lham-services{ padding:48px 16px; }
    .service-card{ padding:30px 24px; }
}

/* ---------- Bouton WhatsApp inline (produits, CTA) ---------- */
.lham-btn-whatsapp{ color:#fff; background:#25D366; }
.lham-btn-whatsapp:hover{ background:#1DA851; color:#fff; }

/* ---------- Catégories de technologies (page dev web) ---------- */
.lham-tech-category{ margin-bottom:36px; }
.lham-tech-category:last-child{ margin-bottom:0; }
.lham-tech-category-title{
    font-family:'Space Grotesk',sans-serif;
    color:var(--lham-navy);
    font-size:.9rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin:0 0 6px;
    display:flex;
    align-items:center;
    gap:10px;
}
.lham-tech-category-title::before{
    content:"";
    width:20px;
    height:2px;
    flex-shrink:0;
    background:linear-gradient(90deg,var(--lham-blue),var(--lham-gold));
}
.lham-tech-category-caption{ color:var(--lham-body); font-size:.86rem; margin:0 0 16px 30px; }
.lham-tech-category .lham-tech-grid{ margin-top:16px; }

/* ---------- Prix & devise (MAD / CFA) ---------- */
.lham-price-toggle{
    display:inline-flex; background:var(--lham-surface-alt); border:1px solid var(--lham-border);
    border-radius:50px; padding:4px; gap:4px; margin-bottom:10px;
}
.lham-price-toggle-btn{
    border:none; background:transparent; padding:8px 18px; border-radius:50px;
    font-family:'Inter',sans-serif; font-size:.85rem; font-weight:600; color:var(--lham-body);
    cursor:pointer; transition:.25s ease;
}
.lham-price-toggle-btn.active{ background:linear-gradient(135deg,var(--lham-blue),var(--lham-blue-deep)); color:#fff; }
.lham-price{ display:flex; align-items:baseline; gap:8px; margin:4px 0; flex-wrap:wrap; }
.lham-price-value{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.5rem; color:var(--lham-navy); }
.lham-price-old{ font-size:.85rem; color:var(--lham-body); text-decoration:line-through; opacity:.7; }
.lham-price-note{ font-size:.74rem; color:var(--lham-body); font-style:italic; margin:2px 0 16px; }

/* ---------- Cartes produit avec prix (logiciels, IA) ---------- */
.lham-price-card{
    position:relative; background:#fff; border:1px solid var(--lham-border); border-radius:18px;
    padding:28px; display:flex; flex-direction:column; transition:transform .3s ease, box-shadow .3s ease;
}
.lham-price-card:hover{ transform:translateY(-6px); box-shadow:0 20px 36px rgba(11,78,169,.1); }
.lham-price-card-badge{
    position:absolute; top:18px; right:18px;
    background:linear-gradient(135deg,var(--lham-gold),var(--lham-gold-light)); color:#05142B;
    font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
    padding:5px 12px; border-radius:50px;
}
.lham-price-card-icon{
    width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, rgba(30,136,229,.12), rgba(212,175,55,.14)); margin-bottom:16px;
}
.lham-price-card-icon i{ font-size:20px; color:var(--lham-blue-deep); }
.lham-price-card h3{ font-family:'Space Grotesk',sans-serif; color:var(--lham-navy); font-size:1.05rem; font-weight:700; margin:0 0 8px; padding-right:56px; }
.lham-price-card p{ color:var(--lham-body); font-size:.87rem; line-height:1.6; margin:0 0 14px; }
.lham-price-card-actions{ display:flex; gap:8px; margin-top:auto; padding-top:14px; flex-wrap:wrap; }
.lham-btn-sm{ padding:9px 15px; font-size:.8rem; gap:6px; }

/* ---------- Encart d'information (crypto, transfert) ---------- */
.lham-info-box{
    background:var(--lham-surface-alt); border:1px solid var(--lham-border); border-left:4px solid var(--lham-blue);
    border-radius:10px; padding:20px 22px; margin:0 0 30px; font-size:.92rem; color:var(--lham-body); line-height:1.75;
}
.lham-info-box strong{ color:var(--lham-navy); }

.lham-location-badge{

    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:10px 16px;

    border-radius:50px;

    background:rgba(30, 136, 229, .08);

    border:1px solid rgba(30,136,229,.15);

    color:#1E88E5;

    font-size:14px;
    font-weight:600;

    backdrop-filter:blur(8px);

    margin-bottom:20px;
}

.lham-location-dot{

    width:8px;
    height:8px;

    background:#22c55e;

    border-radius:50%;
}


/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
    .lham-feature-card, .lham-nav-menu, .lham-nav-toggle span, .lham-whatsapp-float{ transition:none; animation:none; }
}/* End custom CSS */