/*
 * Sama Suuf — Accueil V4
 * Reprise fidèle de la maquette de référence validée :
 * header blanc, hero aérien, tutoriel YouTube, 4 services essentiels,
 * bandeau de statistiques. Toutes les règles sont préfixées ssh- afin
 * d'éviter les conflits avec les écrans métier de la plateforme.
 */
:root{
  --ssh-green:#008d66;
  --ssh-green-2:#00aa78;
  --ssh-green-3:#67d9ac;
  --ssh-deep:#07384b;
  --ssh-navy:#102f45;
  --ssh-ink:#102d42;
  --ssh-muted:#60747f;
  --ssh-line:#dce7e5;
  --ssh-soft:#f7fbfd;
  --ssh-mint:#e9f8f1;
  --ssh-blue:#e8f4ff;
  --ssh-orange:#fff0e3;
  --ssh-purple:#f1ecff;
  --ssh-shadow:0 12px 34px rgba(22,53,65,.10);
}

html{scroll-behavior:smooth}
html.ssh-search-open,html.ssh-search-open body{overflow:hidden}
body:has(.ssh-page){margin:0;background:#fff;color:var(--ssh-ink)}
.ssh-page{min-height:100vh;background:#fff;color:var(--ssh-ink);font-family:inherit;overflow-x:hidden}
.ssh-page *{box-sizing:border-box}
.ssh-page a{text-decoration:none}
.ssh-page + .sb-global-legal{display:none!important}
.ssh-container{width:min(1120px,calc(100% - 70px));margin-inline:auto}

/* HEADER ------------------------------------------------------------------ */
.ssh-header{position:sticky;top:0;z-index:100;border-bottom:1px solid #e7eeec;background:rgba(255,255,255,.985);backdrop-filter:blur(12px)}
.ssh-header-inner{display:grid;grid-template-columns:222px minmax(0,1fr) auto;align-items:center;gap:26px;min-height:62px}
.ssh-brand{display:flex;align-items:center;min-width:0;height:62px}
.ssh-brand img{display:block;width:206px;height:53px;object-fit:contain;object-position:left center}
.ssh-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.15vw,31px);min-width:0}
.ssh-nav a{position:relative;padding:23px 0 19px;color:#284b50;font-size:.74rem;font-weight:760;line-height:1;white-space:nowrap;transition:color .18s ease}
.ssh-nav a:hover,.ssh-nav a.is-active{color:var(--ssh-green)}
.ssh-nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:11px;height:2px;border-radius:999px;background:var(--ssh-green)}
.ssh-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.ssh-header-actions form{margin:0}
.ssh-search-button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:#11384c;cursor:pointer;transition:.18s ease}
.ssh-search-button:hover{background:#f0f7f4;color:var(--ssh-green)}
.ssh-search-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.ssh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 17px;border:1px solid transparent;border-radius:8px;font-size:.72rem;font-weight:850;white-space:nowrap;transition:.18s ease}
.ssh-btn:hover{transform:translateY(-1px)}
.ssh-btn-outline{border-color:#50b393;color:#057b5b;background:#fff}
.ssh-btn-outline:hover{background:#f4fbf8}
.ssh-btn-solid{border-color:#009c70;background:#009c70;color:#fff;box-shadow:0 7px 20px rgba(0,142,101,.18)}
.ssh-btn-solid:hover{background:#008d66}
.ssh-mobile-menu{display:none;position:relative}

/* SEARCH OVERLAY ----------------------------------------------------------- */
.ssh-search-panel[hidden]{display:none!important}
.ssh-search-panel{position:fixed;inset:0;z-index:220;display:grid;place-items:start center;padding:84px 20px 20px;background:rgba(4,31,39,.42);backdrop-filter:blur(6px)}
.ssh-search-card{width:min(620px,100%);padding:18px;border:1px solid #dbe8e4;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(5,35,46,.26)}
.ssh-search-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.ssh-search-head strong{font-size:1.02rem;color:#14384b}
.ssh-search-head button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#f1f6f4;color:#425e61;font-size:1.35rem;cursor:pointer}
.ssh-search-field{display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid #cfe0db;border-radius:10px;background:#fbfdfc}
.ssh-search-field svg{width:18px;height:18px;fill:none;stroke:#5d7878;stroke-width:2;stroke-linecap:round;flex:0 0 auto}
.ssh-search-field input{width:100%;height:44px;border:0;outline:0;background:transparent;color:#17394b;font:inherit;font-size:.86rem}
.ssh-search-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.ssh-search-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e2ece9;border-radius:9px;color:#315a57!important;background:#fff;font-size:.76rem;font-weight:800}
.ssh-search-links a:hover{border-color:#7fc9b2;background:#f5fbf8;color:#08795b!important}
.ssh-search-links a[hidden]{display:none!important}

/* HERO -------------------------------------------------------------------- */
.ssh-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;min-height:calc(100vh - 62px);min-height:calc(100svh - 62px);color:#fff;background:#07384b}
.ssh-hero-bg{position:absolute;inset:0;z-index:-2;background-image:url("../img/home_hero_bg.ff8c77a6d5ac.webp");background-repeat:no-repeat;background-size:cover;background-position:center center}
.ssh-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,43,61,.88) 0%,rgba(4,48,64,.76) 34%,rgba(4,50,62,.38) 58%,rgba(3,42,46,.08) 78%,rgba(3,42,46,.02) 100%)}
.ssh-hero-inner{display:flex;align-items:center;width:100%;min-height:calc(100vh - 62px);min-height:calc(100svh - 62px);padding:56px 0 54px}
.ssh-hero-copy{width:min(600px,53%);padding-left:30px}
.ssh-hero h1{margin:0;color:#fff;font-size:clamp(2.35rem,4.15vw,3.65rem);line-height:1.06;letter-spacing:-.043em;font-weight:900;text-wrap:balance}
.ssh-hero h1 em{color:#65d9a9;font-style:normal}
.ssh-hero-copy>p{max-width:585px;margin:18px 0 0;color:rgba(255,255,255,.94);font-size:clamp(.88rem,1.25vw,1.02rem);line-height:1.6}
.ssh-hero-features{display:flex;align-items:flex-start;gap:34px;margin-top:24px}
.ssh-hero-features>div{display:flex;align-items:center;gap:10px;min-width:0;color:#fff}
.ssh-feature-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;color:#8cf0c5}
.ssh-feature-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ssh-hero-features strong,.ssh-hero-features small{display:block}
.ssh-hero-features strong{font-size:.73rem;line-height:1.1;font-weight:850}
.ssh-hero-features small{margin-top:3px;color:rgba(255,255,255,.96);font-size:.68rem;line-height:1.1;font-weight:620}
.ssh-hero-actions{display:flex;align-items:center;gap:24px;margin-top:27px;flex-wrap:wrap}
.ssh-primary{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:11px 24px;border-radius:7px;background:#00a672;color:#fff!important;font-size:.77rem;font-weight:900;box-shadow:0 9px 22px rgba(0,139,96,.22);transition:.18s ease}
.ssh-primary:hover{transform:translateY(-2px);background:#009467}
.ssh-discover{display:inline-flex;align-items:center;gap:12px;color:#fff!important;font-size:.75rem;font-weight:780}
.ssh-discover span{font-size:1.05rem}
.ssh-free-note{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:8px 12px;border:1px solid rgba(152,235,207,.30);border-radius:8px;background:rgba(6,57,67,.54);backdrop-filter:blur(7px)}
.ssh-free-note>span{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:#e7f8f1;color:#00845f;font-weight:900}
.ssh-free-note p{margin:0}.ssh-free-note strong,.ssh-free-note small{display:block}.ssh-free-note strong{font-size:.66rem;color:#fff}.ssh-free-note small{margin-top:2px;color:#bfe9dc;font-size:.61rem}

/* TUTORIAL ---------------------------------------------------------------- */
.ssh-tutorial{padding:20px 0 36px;border-bottom:1px solid #e5eff0;background:linear-gradient(104deg,#f5fbff 0%,#f8fcfb 100%)}
.ssh-section-heading{margin-bottom:22px;text-align:center}
.ssh-section-heading-left{text-align:left}
.ssh-section-heading h2{margin:0;color:#112f45;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.12;letter-spacing:-.025em;font-weight:900}
.ssh-section-heading p{max-width:630px;margin:6px auto 0;color:#586f7d;font-size:.78rem;line-height:1.45}
.ssh-section-heading-left p{margin-left:0}
.ssh-tutorial-grid{display:grid;grid-template-columns:minmax(0,1.29fr) minmax(310px,.71fr);gap:39px;align-items:center}
.ssh-video-shell{position:relative;overflow:hidden;aspect-ratio:16/7.7;border-radius:9px;background:#0a2c3b;box-shadow:0 12px 32px rgba(23,48,65,.12)}
.ssh-video-shell iframe{display:block;width:100%;height:100%;border:0}
.ssh-tutorial-benefits{display:flex;flex-direction:column;gap:18px;padding-right:10px}
.ssh-tutorial-benefits article{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:center}
.ssh-tutorial-benefits h3{margin:0 0 4px;color:#153247;font-size:.82rem;font-weight:900}
.ssh-tutorial-benefits p{margin:0;color:#5c727f;font-size:.71rem;line-height:1.45}
.ssh-round-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%}
.ssh-round-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ssh-round-icon.is-green{background:#e4f7ed;color:#078861}
.ssh-round-icon.is-blue{background:#e7f3ff;color:#177eb6}
.ssh-round-icon.is-orange{background:#fff0e4;color:#e46e17}
.ssh-youtube-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:max-content;margin-top:2px;padding:9px 16px;border:1px solid #2faa7c;border-radius:999px;color:#08775a!important;background:#fff;font-size:.69rem;font-weight:850;transition:.18s ease}
.ssh-youtube-link:hover{background:#f2fbf7;transform:translateY(-1px)}

/* SERVICES ---------------------------------------------------------------- */
.ssh-services{padding:30px 0 42px;background:#fff}
.ssh-heading-rule{display:block;width:54px;height:2px;margin:11px auto 0;border-radius:999px;background:#00976b}
.ssh-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ssh-service-card{display:flex;flex-direction:column;min-height:207px;padding:18px 17px 17px;border:1px solid #dde8e6;border-radius:9px;background:#fff;box-shadow:0 6px 18px rgba(16,52,60,.04);transition:.18s ease}
.ssh-service-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(16,52,60,.08)}
.ssh-service-icon{display:grid;place-items:center;width:45px;height:45px;margin-bottom:13px;border-radius:50%}
.ssh-service-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ssh-service-icon.is-green{background:#e4f7ed;color:#00865e}
.ssh-service-icon.is-blue{background:#e6f3ff;color:#177db6}
.ssh-service-icon.is-orange{background:#fff0e3;color:#e16f18}
.ssh-service-icon.is-purple{background:#f0ebff;color:#6846bb}
.ssh-service-card h3{margin:0 0 7px;color:#153247;font-size:.82rem;font-weight:900}
.ssh-service-card p{flex:1;margin:0 0 13px;color:#5b717d;font-size:.70rem;line-height:1.46}
.ssh-service-card a{display:inline-flex;align-items:center;gap:7px;color:#087a5b!important;font-size:.69rem;font-weight:900}
.ssh-service-card:nth-child(2) a{color:#197db3!important}
.ssh-service-card:nth-child(3) a{color:#d76717!important}
.ssh-service-card:nth-child(4) a{color:#6847b9!important}

/* FOOTER ------------------------------------------------------------------ */
.ssh-footer{border-top:1px solid #e4ece9;background:#f8faf9}
.ssh-footer-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding-block:18px}
.ssh-footer-brand{display:flex;align-items:center;gap:8px}.ssh-footer-brand img{width:35px;height:35px;object-fit:contain}.ssh-footer-brand strong,.ssh-footer-brand small{display:block}.ssh-footer-brand strong{color:#173b38;font-size:.77rem}.ssh-footer-brand small{color:#6b807b;font-size:.55rem}
.ssh-footer p{margin:0;text-align:center;color:#617874;font-size:.61rem;line-height:1.4}
.ssh-footer-links{display:flex;align-items:center;justify-content:flex-end;gap:13px}.ssh-footer-links>a{color:#315e54!important;font-size:.61rem;font-weight:800}
.ssh-footer .sb-menu-tools{display:inline-flex}.ssh-footer .sb-share-trigger{display:inline-flex;align-items:center;gap:5px;width:auto;height:auto;padding:0;border:0;background:transparent;color:#315e54;font:inherit;font-size:.61rem;font-weight:800;cursor:pointer}.ssh-footer .sb-share-trigger .sb-tool-label{display:inline}.ssh-footer .sb-share-trigger>span:first-child{font-size:.75rem}

/* TABLET ------------------------------------------------------------------ */
@media(max-width:1120px){
  .ssh-container{width:min(100% - 44px,1040px)}
  .ssh-header-inner{grid-template-columns:190px 1fr auto;gap:14px}.ssh-brand img{width:180px}.ssh-nav{gap:15px}.ssh-nav a{font-size:.68rem}.ssh-btn{padding-inline:12px}.ssh-header-actions{gap:7px}
  .ssh-hero-copy{width:55%}.ssh-hero-features{gap:22px}.ssh-hero-features small{font-size:.63rem}
}

@media(max-width:920px){
  .ssh-header-inner{grid-template-columns:1fr auto auto;min-height:68px}.ssh-brand{height:68px}.ssh-brand img{width:188px}.ssh-nav{display:none}.ssh-header-actions .ssh-btn{display:none}.ssh-header-actions form{display:none}
  .ssh-mobile-menu{display:block}.ssh-mobile-menu summary{display:flex;flex-direction:column;justify-content:center;gap:4px;width:38px;height:38px;padding:9px;border-radius:8px;background:#f2f7f5;cursor:pointer;list-style:none}.ssh-mobile-menu summary::-webkit-details-marker{display:none}.ssh-mobile-menu summary span{display:block;width:100%;height:2px;border-radius:999px;background:#234d4a}.ssh-mobile-menu nav{position:absolute;right:0;top:46px;z-index:120;display:flex;flex-direction:column;width:min(290px,calc(100vw - 32px));padding:9px;border:1px solid #d9e6e2;border-radius:12px;background:#fff;box-shadow:0 18px 44px rgba(15,47,55,.16)}.ssh-mobile-menu nav a{padding:10px 11px;border-radius:7px;color:#2c5651!important;font-size:.74rem;font-weight:800}.ssh-mobile-menu nav a:hover{background:#f1f8f5;color:#08775a!important}
  .ssh-hero{min-height:calc(100vh - 68px);min-height:calc(100svh - 68px)}.ssh-hero-bg{background-position:65% center}.ssh-hero::after{background:linear-gradient(90deg,rgba(5,47,68,.98) 0%,rgba(5,49,67,.92) 50%,rgba(5,49,67,.62) 72%,rgba(5,49,67,.30) 100%)}.ssh-hero-inner{min-height:calc(100vh - 68px);min-height:calc(100svh - 68px);padding-top:48px;padding-bottom:48px}.ssh-hero-copy{width:min(650px,78%)}
  .ssh-tutorial-grid{grid-template-columns:1fr}.ssh-tutorial-benefits{display:grid;grid-template-columns:1fr 1fr;padding-right:0}.ssh-tutorial-benefits article:last-of-type{grid-column:1/-1}.ssh-youtube-link{grid-column:1/-1}
  .ssh-services-grid{grid-template-columns:1fr 1fr}
  .ssh-footer-inner{grid-template-columns:1fr;text-align:center}.ssh-footer-brand,.ssh-footer-links{justify-content:center}
}

/* MOBILE ------------------------------------------------------------------ */
@media(max-width:640px){
  .ssh-container{width:calc(100% - 28px)}
  .ssh-header-inner{grid-template-columns:1fr auto auto;gap:7px}.ssh-brand img{width:160px;height:46px}.ssh-search-button{width:36px;height:36px}
  .ssh-search-panel{padding-top:78px}.ssh-search-links{grid-template-columns:1fr}
  .ssh-hero{display:block;min-height:0}.ssh-hero-bg{background-position:72% center;transform:scale(1.06)}.ssh-hero::after{background:rgba(4,48,67,.88)}.ssh-hero-inner{min-height:0;padding:48px 0 36px}.ssh-hero-copy{width:100%}.ssh-hero h1{font-size:clamp(2.15rem,11vw,3.1rem)}.ssh-hero-copy>p{font-size:.88rem}.ssh-hero-features{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ssh-hero-features>div:last-child{grid-column:1/-1}.ssh-hero-actions{align-items:stretch;flex-direction:column;gap:13px}.ssh-primary,.ssh-discover{width:100%;justify-content:center}.ssh-free-note{width:100%}
  .ssh-tutorial{padding:28px 0}.ssh-section-heading,.ssh-section-heading-left{text-align:left}.ssh-section-heading p{margin-left:0}.ssh-tutorial-benefits{grid-template-columns:1fr}.ssh-tutorial-benefits article:last-of-type,.ssh-youtube-link{grid-column:auto}.ssh-youtube-link{width:100%}
  .ssh-services{padding:30px 0}.ssh-services-grid{grid-template-columns:1fr}.ssh-service-card{min-height:0}
  .ssh-footer-links{flex-wrap:wrap}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.ssh-btn,.ssh-primary,.ssh-youtube-link,.ssh-service-card{transition:none!important}
}

/* HERO MAP SHARPNESS FIX — v1.3.5 ----------------------------------------
 * The aerial hero remains a photographic background. The Senegal map, pin
 * and message are independent DOM/vector layers so they stay sharp at
 * every viewport size. The photographic background has been cleaned so it
 * contains no duplicate map, label or decorative signature.
 */
@media(min-width:921px){
  .ssh-hero-inner{justify-content:space-between;gap:34px}
  .ssh-hero-copy{position:relative;z-index:3;width:min(610px,51%)}
  .ssh-hero-bg{filter:saturate(.94) contrast(1.02);transform:translateZ(0)}
  .ssh-hero-visual{position:relative;z-index:2;align-self:center;width:min(48%,760px);aspect-ratio:1.55/1;margin-right:-1.5%;pointer-events:none}
  .ssh-senegal-map{position:absolute;z-index:1;inset:5% 1% 0 1%;width:98%;height:88%;object-fit:contain;object-position:center center;filter:none!important;image-rendering:auto;transform:translateZ(0)}
  .ssh-map-pin{position:absolute;z-index:3;left:48%;top:51%;width:54px;height:66px;transform:translate(-50%,-50%);filter:drop-shadow(0 7px 10px rgba(0,52,49,.28))}
  .ssh-map-pin svg{display:block;width:100%;height:100%;overflow:visible}
  .ssh-map-pin path{fill:#05966e;stroke:#fff;stroke-width:2.7;stroke-linejoin:round}
  .ssh-map-pin circle{fill:#fff;stroke:#fff;stroke-width:1.5}
  .ssh-map-note{position:absolute;z-index:4;left:57%;top:40%;min-width:218px;padding:16px 20px;border:1px solid rgba(10,78,69,.12);border-radius:13px;background:#fff;color:#103a40;box-shadow:0 14px 34px rgba(0,35,42,.20);font-size:clamp(.78rem,1vw,.92rem);line-height:1.27;letter-spacing:-.01em}
  .ssh-map-note::before{content:"";position:absolute;left:-13px;top:50%;width:24px;height:24px;border-left:1px solid rgba(10,78,69,.12);border-bottom:1px solid rgba(10,78,69,.12);background:#fff;transform:translateY(-50%) rotate(45deg)}
  .ssh-map-note strong,.ssh-map-note span{position:relative;z-index:1;display:block}
  .ssh-map-note strong{font-weight:900}.ssh-map-note span{margin-top:2px;font-weight:760}
}

@media(min-width:921px) and (max-width:1120px){
  .ssh-hero-visual{width:46%;margin-right:-3%}
  .ssh-map-note{left:55%;top:40%;min-width:180px;padding:13px 15px}
  .ssh-map-pin{width:46px;height:57px}
}

@media(max-width:920px){
  .ssh-hero-visual{display:none}
}


/* v1.3.7 — fond du hero nettoyé : aucune carte raster dupliquée et aucun cercle derrière la carte SVG. */


/* v1.3.8 — hero paysager net, sans cercle ni carte d'arrière-plan.
 * L'arrière-plan est uniquement une photographie aérienne/littorale.
 * La carte du Sénégal reste un calque SVG séparé, net et indépendant.
 */
.ssh-hero-bg{background-image:url("../img/home_hero_bg.ff8c77a6d5ac.webp");background-size:cover;background-position:center center;background-repeat:no-repeat;filter:none!important;transform:none!important}
.ssh-hero-visual::before,.ssh-hero-visual::after{content:none!important;display:none!important}
@media(min-width:921px){
  .ssh-hero-bg{background-position:center center}
  .ssh-senegal-map{filter:drop-shadow(0 10px 18px rgba(2,34,39,.24))!important}
}
@media(max-width:920px){
  .ssh-hero-bg{background-position:62% center;transform:none!important}
}
@media(max-width:640px){
  .ssh-hero-bg{background-position:68% center;transform:none!important}
}
