/* ATAF · Atterrissage Afrique (ataf.immerxif.com) — reprend le système épuré de gs.css, accent rose ATAF */
.at-site{--gs:#D3146F;--gs-ink:#A80F59;--gs-soft:#FCE8F1;--sand:#F5EFE7;--night:#0B1226}
.at-site .at-brand img{height:50px;width:auto}
.at-site .btn-primary{background:var(--gs);color:#fff}
.at-site .btn-primary:hover{background:var(--gs-ink);color:#fff}
.at-site .gs-hero .eyebrow,.at-site .gs-band .eyebrow{color:#F7A8CB}
.at-site .gs-hero::after{background:linear-gradient(180deg,rgba(11,18,38,.1) 0%,rgba(11,18,38,.35) 45%,rgba(11,18,38,.9) 100%)}
.at-site .gs-list li::before{background:var(--gs-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A80F59' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/13px no-repeat}
.at-site .gs-cta::after{background:linear-gradient(90deg,rgba(11,18,38,.94) 0%,rgba(11,18,38,.78) 50%,rgba(168,15,89,.25) 100%)}
.at-site .gs-cta .btn-dark{background:var(--gs);color:#fff}
.at-site .page-hero.p{background:linear-gradient(135deg,#0B1226 0%,#4A0F33 65%,#D3146F 100%);color:#fff}
.at-site .page-hero .eyebrow{color:#F7A8CB}
.at-site .card.top-p{border-top-color:var(--gs)}
.at-site details.mod summary::after{color:var(--gs-ink)}

/* Les trois temps */
.at-phases{display:grid;gap:clamp(56px,8vw,104px)}
.at-phase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:center}
.at-phase:nth-child(even) .gs-img{order:2}
@media (max-width:900px){.at-phase{grid-template-columns:1fr}.at-phase:nth-child(even) .gs-img{order:0}}
.at-num{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.at-num b{font-family:var(--display);font-size:clamp(64px,8vw,104px);line-height:.85;color:var(--gs);letter-spacing:-.04em}
.at-num span{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4A4F63}
.at-deliv{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;display:grid;gap:6px;font-size:15px}
.at-deliv strong{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gs-ink)}

/* Frise des trois temps (accueil) */
.at-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;position:relative}
.at-route::before{content:"";position:absolute;left:8%;right:8%;top:34px;height:2px;background:repeating-linear-gradient(90deg,var(--gs) 0 10px,transparent 10px 18px)}
.at-route>div{position:relative;padding:0 18px;display:grid;gap:10px;justify-items:start}
.at-route .dot{width:68px;height:68px;border-radius:50%;background:#fff;border:2px solid var(--gs);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:24px;color:var(--gs);position:relative;z-index:1}
.at-route>div:last-child .dot{background:var(--gs);color:#fff}
.at-route h3{font-size:26px}
.at-route small{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#4A4F63}
.at-route p{font-size:15.5px;color:#4A4F63}
@media (max-width:800px){.at-route{grid-template-columns:1fr;gap:28px}.at-route::before{left:34px;right:auto;top:20px;bottom:20px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--gs) 0 10px,transparent 10px 18px)}.at-route>div{grid-template-columns:68px 1fr;column-gap:18px;padding:0}.at-route .dot{grid-row:span 3}}

/* Destinations */
.at-dests{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:1000px){.at-dests{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.at-dests{grid-template-columns:1fr}}
.at-dest{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:3/4;color:#fff;display:flex;align-items:flex-end;text-decoration:none}
.at-dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.at-dest:hover img{transform:scale(1.05)}
.at-dest::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,18,38,0) 35%,rgba(11,18,38,.88) 100%)}
.at-dest div{position:relative;z-index:1;padding:22px;display:grid;gap:4px}
.at-dest small{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#F7A8CB}
.at-dest strong{font-family:var(--display);font-size:30px;line-height:1}
.at-dest span{font-size:14.5px;color:rgba(255,255,255,.88)}
.at-dest .pill-pilot{position:absolute;top:16px;left:16px;z-index:1;background:var(--gs);color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.at-country{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(40px,6vw,72px) 0;border-top:1px solid var(--line);scroll-margin-top:96px}
.at-country:nth-of-type(even) .gs-img{order:2}
@media (max-width:900px){.at-country{grid-template-columns:1fr}.at-country:nth-of-type(even) .gs-img{order:0}}
.at-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.at-facts div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.at-facts dt{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#4A4F63}
.at-facts dd{margin:2px 0 0;font-weight:600}

/* Offres et tarifs */
.at-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:800px){.at-offers{grid-template-columns:1fr}}
.at-offer{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(24px,3vw,34px);display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 40px -24px rgba(14,21,48,.25)}
.at-offer.vedette{border:2px solid var(--gs);position:relative}
.at-offer.vedette::before{content:"Le cœur de la méthode";position:absolute;top:-13px;left:24px;background:var(--gs);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.at-offer small{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gs-ink)}
.at-offer h3{font-size:clamp(24px,2.4vw,30px)}
.at-offer .prix{font-family:var(--display);font-weight:800;font-size:clamp(28px,3vw,38px);line-height:1}
.at-offer .prix em{font-style:normal;font-family:var(--body);font-size:14px;font-weight:600;color:#4A4F63;display:block;margin-bottom:4px}
.at-offer ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:15.5px;color:#2A2F45}
.at-offer li{padding-left:24px;position:relative}
.at-offer li::before{content:"";position:absolute;left:0;top:8px;width:10px;height:10px;border-radius:50%;background:var(--gs)}
.at-offer .btn{margin-top:auto;align-self:flex-start}

/* Bandeau chiffres et engagement */
.at-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media (max-width:860px){.at-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.at-stats div{border-top:2px solid rgba(255,255,255,.25);padding-top:16px}
.at-stats strong{display:block;font-family:var(--display);font-size:clamp(34px,4vw,52px);line-height:1;color:#fff}
.at-stats span{color:rgba(255,255,255,.78);font-size:15px}
.at-dark{background:var(--night);color:#fff}
.at-dark .lead{color:rgba(255,255,255,.8)}
.at-dark .eyebrow{color:#F7A8CB}
.at-promise{font-family:var(--display);font-weight:600;font-size:clamp(28px,3.6vw,46px);line-height:1.12;letter-spacing:-.02em;max-width:980px}
.at-promise em{font-style:normal;color:var(--gs)}

/* Guide */
.at-guide{counter-reset:g;display:grid;gap:14px;max-width:880px}
.at-guide details{background:#fff;border:1px solid var(--line);border-radius:16px;counter-increment:g}
.at-guide summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:52px 1fr 24px;gap:14px;align-items:center;padding:18px 20px;font-weight:700;font-size:18px}
.at-guide summary::-webkit-details-marker{display:none}
.at-guide summary::before{content:counter(g,decimal-leading-zero);font-family:var(--display);font-size:24px;color:var(--gs)}
.at-guide summary::after{content:"+";font-size:24px;color:var(--gs-ink);text-align:center}
.at-guide details[open] summary::after{content:"–"}
.at-guide .rep{padding:0 20px 20px 86px;display:grid;gap:8px;color:#2A2F45}
@media (max-width:560px){.at-guide .rep{padding-left:20px}}
.at-dark .gs-list li{color:rgba(255,255,255,.92)}
.at-dark .gs-list li::before{background-color:rgba(255,255,255,.95)}
