/* =========================================================
   KASTOR AFRICA &mdash; HOME 2026
   Tout est encapsul&eacute; sous .kh-home pour pr&eacute;server le th&egrave;me.
   ========================================================= */
.kh-home {
    --kh-red: #b51e29;
    --kh-red-2: #d33a43;
    --kh-red-dark: #7e1119;
    --kh-ink: #191919;
    --kh-muted: #656565;
    --kh-soft: #f6f4f2;
    --kh-soft-2: #eee9e5;
    --kh-line: rgba(25,25,25,.10);
    --kh-white: #fff;
    --kh-shadow: 0 24px 70px rgba(31,25,23,.10);
    --kh-radius-xl: 32px;
    --kh-radius-lg: 24px;
    --kh-radius-md: 16px;
    --kh-container: 1320px;
    background:#fff;
    color:var(--kh-ink);
    overflow:hidden;
    font-family:'General Sans',Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.kh-home *, .kh-home *::before, .kh-home *::after { box-sizing:border-box; }
.kh-home a { color:inherit; text-decoration:none; }
.kh-home img { max-width:100%; display:block; }
.kh-shell { width:min(calc(100% - 48px),var(--kh-container)); margin-inline:auto; }
.kh-section { padding:clamp(54px,6vw,82px) 0; }
.kh-section--soft { background:var(--kh-soft); }
.kh-kicker {
    display:inline-flex; align-items:center; gap:10px; margin-bottom:16px;
    color:var(--kh-red); font-size:.77rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase;
}
.kh-kicker::before { content:""; width:28px; height:2px; border-radius:99px; background:currentColor; }
.kh-heading {
    margin:0; max-width:900px; font-family:'General Sans',Inter,ui-sans-serif,system-ui,sans-serif;
    font-size:var(--kastor-title-section); line-height:.98; letter-spacing:-.045em; font-weight:700;
}
.kh-heading span { color:var(--kh-red); }
.kh-lead { margin:22px 0 0; max-width:690px; color:var(--kh-muted); font-size:clamp(1rem,1.35vw,1.18rem); line-height:1.75; }
.kh-section-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:32px; }
.kh-section-head .kh-lead { max-width:480px; margin:0; }
.kh-btn {
    min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:12px;
    padding:0 22px; border-radius:999px; border:1px solid transparent; font-weight:750; font-size:.93rem;
    transition:transform .22s ease, background .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease;
}
.kh-btn:hover { transform:translateY(-2px); }
.kh-btn--red { background:var(--kh-red); color:#fff !important; box-shadow:0 12px 28px rgba(167,13,23,.22); }
.kh-btn--red:hover { background:var(--kh-red-dark); }
.kh-btn--light { background:#fff; color:var(--kh-ink)!important; border-color:rgba(255,255,255,.4); }
.kh-btn--line { background:transparent; border-color:var(--kh-line); }
.kh-btn svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* HERO */
.kh-hero {
    position:relative; min-height:min(820px,88vh); display:flex; align-items:flex-end; isolation:isolate;
    background:#5b0710; color:#fff;
}
.kh-hero-video { position:absolute; inset:0; z-index:-3; overflow:hidden; }
.kh-hero-video video {
    width:100%; height:100%; object-fit:cover; object-position:center;
    filter:brightness(1.12) saturate(1.05);
}
.kh-hero::before {
    content:""; position:absolute; inset:0; z-index:-2;
    background:linear-gradient(90deg,rgba(8,8,8,.68) 0%,rgba(8,8,8,.50) 36%,rgba(8,8,8,.16) 68%,rgba(8,8,8,.03) 100%),
               linear-gradient(180deg,rgba(8,8,8,.02) 0%,rgba(8,8,8,.12) 58%,rgba(8,8,8,.42) 100%);
}
.kh-hero::after {
    content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
    background:radial-gradient(circle at 78% 18%,rgba(197,26,36,.16),transparent 28rem);
}
.kh-hero-inner { width:100%; padding:clamp(120px,15vh,180px) 0 46px; }
.kh-hero-copy { width:min(840px,75%); }
.kh-hero .kh-kicker { color:#fff; opacity:.82; }
.kh-home .kh-hero h1 {
    margin:0; font-family:'General Sans',Inter,ui-sans-serif,system-ui,sans-serif; font-weight:700;
    /* Titre volontairement descendu d’un niveau : même échelle que les grands titres de section. */
    font-size:var(--kastor-title-section) !important; line-height:.98; letter-spacing:-.045em; max-width:930px;
}
.kh-hero h1 span { color:#f0cbc9; display:block; }
.kh-hero-text { margin:28px 0 0; max-width:710px; font-size:clamp(1.05rem,1.5vw,1.28rem); line-height:1.68; color:rgba(255,255,255,.84); }
.kh-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.kh-hero-foot { margin-top:58px; display:flex; justify-content:space-between; align-items:end; gap:26px; }
.kh-hero-markets { display:flex; flex-wrap:wrap; gap:8px; }
.kh-market-chip { padding:8px 13px; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.07); backdrop-filter:blur(8px); border-radius:999px; font-size:.79rem; }
.kh-hero-scroll { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.58); font-size:.78rem; text-transform:uppercase; letter-spacing:.11em; }
.kh-hero-scroll i { width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.24); display:grid; place-items:center; font-style:normal; }

/* RECHERCHE */
.kh-search-wrap {
    position:relative; z-index:5; margin-top:-1px;
    background:linear-gradient(180deg,#fff 0%,#fffafa 100%);
    border-bottom:1px solid var(--kh-line);
}
.kh-search-wrap .kh-shell {
    width:min(calc(100% - 48px),1190px);
}
.kh-search {
    position:relative; transform:translateY(34px); overflow:hidden;
    background:linear-gradient(135deg,#fff 0%,#fff9f9 100%);
    border:2px solid rgba(167,13,23,.70); border-radius:22px;
    box-shadow:0 24px 65px rgba(94,8,16,.18),0 0 0 7px rgba(167,13,23,.055);
    padding:26px 22px 22px; display:grid; grid-template-columns:1fr 1.35fr 1fr auto; gap:12px;
}
.kh-search::before {
    content:""; position:absolute; top:0; left:0; right:0; height:5px;
    background:linear-gradient(90deg,#6f0a12 0%,#bc1f2a 50%,#6f0a12 100%);
}
.kh-field { min-width:0; }
.kh-field label { display:block; margin:0 0 8px 2px; font-size:.72rem; font-weight:850; color:#681018; letter-spacing:.09em; text-transform:uppercase; }
.kh-field select,.kh-field input {
    width:100%; height:54px; border:1px solid rgba(104,16,24,.22); border-radius:12px; background:#fff; color:var(--kh-ink);
    padding:0 15px; font:inherit; outline:none; box-shadow:0 4px 14px rgba(70,10,16,.035);
    transition:border-color .2s,box-shadow .2s,background .2s;
}
.kh-field select:hover,.kh-field input:hover { border-color:rgba(167,13,23,.42); }
.kh-field select:focus,.kh-field input:focus { border-color:#a70d17; background:#fff; box-shadow:0 0 0 4px rgba(167,13,23,.11),0 7px 18px rgba(70,10,16,.06); }
.kh-search-submit {
    align-self:end; min-height:54px; border:0; cursor:pointer;
    background:linear-gradient(135deg,#8b101a 0%,#c62632 100%);
    box-shadow:0 13px 28px rgba(139,16,26,.30);
}
.kh-search-submit:hover { background:linear-gradient(135deg,#720b14 0%,#ae1824 100%); box-shadow:0 16px 34px rgba(114,11,20,.34); }
.kh-search-custom {
    position:relative; width:min(100%,760px); margin:50px auto 0; padding:18px 28px; overflow:hidden;
    border:1px solid rgba(255,255,255,.14); border-radius:18px;
    background:linear-gradient(120deg,#650811 0%,#9f111c 55%,#c32430 100%);
    box-shadow:0 15px 38px rgba(101,8,17,.22);
    display:flex; align-items:center; justify-content:center; gap:22px;
    color:#fff; font-size:1.08rem; font-weight:750;
}
.kh-search-custom::before {
    content:""; position:absolute; width:180px; height:180px; right:-62px; top:-94px;
    border:32px solid rgba(255,255,255,.055); border-radius:50%; pointer-events:none;
}
.kh-search-custom strong { position:relative; font-size:clamp(1.05rem,1.5vw,1.3rem); }
.kh-search-custom a {
    position:relative; display:inline-flex; align-items:center; justify-content:center; gap:9px;
    min-height:48px; padding:0 22px; border-radius:999px; background:#fff; color:#850e18;
    font-weight:850; text-decoration:none; box-shadow:0 9px 24px rgba(45,0,5,.22);
    transition:transform .2s,box-shadow .2s,background .2s;
}
.kh-search-custom a:hover { color:#6f0a12; background:#fff7f7; transform:translateY(-2px); box-shadow:0 13px 28px rgba(45,0,5,.28); }
.kh-search-custom svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* PROOF STRIP */
.kh-proof { padding:60px 0 36px; }
.kh-proof-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--kh-line); border-bottom:1px solid var(--kh-line); }
.kh-proof-item { padding:28px 26px; min-height:132px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid var(--kh-line); }
.kh-proof-item:first-child { padding-left:0; }
.kh-proof-item:last-child { border-right:0; }
.kh-proof-value { font-family:'General Sans',Inter,ui-sans-serif,system-ui,sans-serif; font-size:clamp(1.3rem,1.75vw,2rem); line-height:1.12; font-weight:700; color:var(--kh-red); }
.kh-proof-label { margin-top:9px; color:var(--kh-muted); font-size:.88rem; line-height:1.45; }

/* PROGRAMMES */
.kh-programs-grid { display:grid; grid-template-columns:1.08fr .92fr; grid-template-rows:repeat(2,minmax(280px,1fr)); gap:18px; }
.kh-program-card {
    position:relative; min-height:330px; overflow:hidden; border-radius:var(--kh-radius-lg); color:#fff; isolation:isolate;
    background:#222; box-shadow:0 18px 50px rgba(24,18,16,.10);
}
.kh-program-card:first-child { grid-row:1 / span 2; min-height:678px; }
.kh-program-media { position:absolute; inset:0; z-index:-3; background-size:cover; background-position:center; transform:scale(1.002); transition:transform .55s ease; }
.kh-program-card:hover .kh-program-media { transform:scale(1.035); }
.kh-program-card::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,rgba(10,10,10,.06) 20%,rgba(10,10,10,.88) 100%); }
.kh-program-card::after { content:""; position:absolute; inset:0; z-index:-4; }
.kh-program-card--cite::after { background:linear-gradient(135deg,#8b1118,#3d1517 45%,#c38b78); }
.kh-program-card--eco::after { background:linear-gradient(135deg,#6d0b14,#b51e29 54%,#efb0b4); }
.kh-program-card--burkindi::after { background:linear-gradient(135deg,#5b0710,#8f1720 56%,#d98b91); }
.kh-program-fallback { position:absolute; inset:0; z-index:-1; opacity:.72; overflow:hidden; }
.kh-program-fallback span { position:absolute; bottom:0; border:1px solid rgba(255,255,255,.20); background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.03)); backdrop-filter:blur(2px); }
.kh-program-fallback span:nth-child(1){left:8%;width:18%;height:42%}.kh-program-fallback span:nth-child(2){left:25%;width:22%;height:58%}.kh-program-fallback span:nth-child(3){left:46%;width:17%;height:48%}.kh-program-fallback span:nth-child(4){left:62%;width:27%;height:72%}
.kh-program-content { position:absolute; inset:auto 0 0; padding:32px; }
.kh-program-card:first-child .kh-program-content { padding:42px; }
.kh-program-topline { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:13px; }
.kh-program-type { font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.75); }
.kh-program-location { font-size:.78rem; color:rgba(255,255,255,.68); }
.kh-program-title { margin:0; font-family:'General Sans',Inter,ui-sans-serif,system-ui,sans-serif; font-size:var(--kastor-title-card); line-height:1; letter-spacing:-.035em; }
.kh-program-card:not(:first-child) .kh-program-title { font-size:var(--kastor-title-card); }
.kh-program-text { max-width:600px; margin:13px 0 0; color:rgba(255,255,255,.76); line-height:1.58; font-size:.9rem; }
.kh-program-bottom { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.22); }
.kh-program-meta { font-weight:750; font-size:.86rem; }
.kh-round-arrow { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:#fff; color:var(--kh-red); transition:transform .22s; }
.kh-program-card:hover .kh-round-arrow { transform:translateX(3px); }
.kh-round-arrow svg { width:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* BIENS DISPONIBLES */
.kh-offers-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.kh-offer-card { background:#fff; border:1px solid var(--kh-line); border-radius:20px; overflow:hidden; transition:transform .25s,box-shadow .25s; }
.kh-offer-card:hover { transform:translateY(-5px); box-shadow:0 20px 48px rgba(31,25,23,.09); }
.kh-offer-image { position:relative; aspect-ratio:4/3; overflow:hidden; background:#eee; }
.kh-offer-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.kh-offer-card:hover .kh-offer-image img { transform:scale(1.035); }
.kh-offer-badge { position:absolute; left:16px; top:16px; padding:7px 11px; border-radius:999px; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); color:var(--kh-red); font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.kh-offer-body { padding:22px; }
.kh-offer-title { margin:0; font-family:'General Sans',Inter,ui-sans-serif,system-ui,sans-serif; font-size:var(--kastor-title-card); line-height:1.08; }
.kh-offer-location { margin:9px 0 0; color:var(--kh-muted); font-size:.86rem; }
.kh-offer-line { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-top:20px; padding-top:17px; border-top:1px solid var(--kh-line); }
.kh-offer-price { font-weight:800; color:var(--kh-red); font-size:.87rem; }
.kh-offer-link { font-size:.84rem; font-weight:750; }
.kh-section-actions { display:flex; justify-content:center; margin-top:34px; }

/* INVESTIR ET SUIVI À DISTANCE */
.kh-home-invest { padding:50px 0 26px; }
.kh-home-invest-card {
    position:relative; overflow:hidden; padding:44px 48px; border-radius:24px;
    background:linear-gradient(125deg,#650811 0%,#99131d 58%,#bd2530 100%);
    color:#fff; box-shadow:0 20px 54px rgba(101,8,17,.2);
}
.kh-home-invest-card::after { content:""; position:absolute; width:280px; height:280px; right:-90px; top:-150px; border:44px solid rgba(255,255,255,.055); border-radius:50%; pointer-events:none; }
.kh-home-invest-card .kh-kicker { color:#f5b9bd; }
.kh-home-invest-card h2 { position:relative; margin:0; color:#fff; font-size:var(--kastor-title-section); line-height:1; letter-spacing:-.04em; }
.kh-home-invest-card p { position:relative; max-width:980px; margin:20px 0 0; color:rgba(255,255,255,.82); font-size:1.05rem; line-height:1.75; }
.kh-home-invest-action { position:relative; margin-top:25px; }
.kh-home-follow { padding:28px 0 58px; }
.kh-home-follow-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:0; max-width:1100px; margin:0 auto; overflow:hidden; border:1px solid rgba(128,13,22,.2); border-radius:20px; background:#fff; }
.kh-home-follow-card { height:260px; min-height:0; overflow:hidden; }
.kh-home-follow-copy { padding:34px 40px; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(145deg,#fff 0%,#fffafa 100%); }
.kh-home-follow-copy h2 { margin:0; color:#2d2525; font-size:clamp(1.85rem,2.65vw,2.55rem); line-height:1.05; letter-spacing:-.04em; }
.kh-home-follow-copy h2 span { color:var(--kh-red); }
.kh-home-follow-image { margin:0; padding:10px; display:flex; align-items:center; justify-content:center; background:#fff; border-left:1px solid rgba(128,13,22,.2); }
.kh-home-follow-image img { display:block; width:auto !important; height:auto !important; max-width:100%; max-height:100%; margin:auto; object-fit:contain !important; object-position:center; }
.kh-home-follow-bottom { max-width:920px; margin:34px auto 0; text-align:center; }
.kh-home-follow-bottom p { margin:0; color:#554b4c; font-size:1.06rem; line-height:1.72; }
.kh-home-follow-bottom .kh-btn { margin-top:24px; }

/* EXPERTISE */
.kh-expertise-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--kh-line); border-radius:var(--kh-radius-lg); overflow:hidden; background:#fff; }
.kh-expertise-card { padding:34px 28px; min-height:250px; border-right:1px solid var(--kh-line); transition:background .25s; }
.kh-expertise-card:last-child { border-right:0; }
.kh-expertise-card:hover { background:#fbf7f6; }
.kh-expertise-icon { width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:rgba(167,13,23,.08); color:var(--kh-red); margin-bottom:34px; }
.kh-expertise-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.kh-expertise-card h3 { margin:0; font-size:1.04rem; }
.kh-expertise-card p { margin:11px 0 0; color:var(--kh-muted); line-height:1.65; font-size:.88rem; }

/* INSTITUTIONNEL */
.kh-brand-section { background:linear-gradient(135deg,#8f1720 0%,#ad2630 54%,#7f111a 100%); color:#fff; }
.kh-brand-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.kh-brand-section .kh-kicker { color:#efb7ba; }
.kh-brand-section .kh-heading { color:#fff; }
.kh-brand-copy { color:rgba(255,255,255,.66); margin-top:24px; max-width:650px; line-height:1.78; font-size:1.05rem; }
.kh-brand-stats { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.15); border-radius:22px; overflow:hidden; }
.kh-brand-stat { background:rgba(75,5,10,.18); padding:32px; min-height:155px; }
.kh-brand-stat strong { display:block; color:#ffe0df; font-family:'General Sans',Inter,ui-sans-serif,system-ui,sans-serif; font-size:2rem; }
.kh-brand-stat span { display:block; margin-top:9px; color:rgba(255,255,255,.61); font-size:.84rem; line-height:1.45; }
.kh-brand-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.kh-brand-section .kh-btn--line { border-color:rgba(255,255,255,.24); color:#fff!important; }

/* INVEST */
.kh-invest-card { position:relative; overflow:hidden; border-radius:var(--kh-radius-xl); padding:clamp(38px,6vw,76px); background:linear-gradient(135deg,#a71924 0%,#c12b35 48%,#86151e 100%); color:#fff; box-shadow:0 28px 80px rgba(122,11,18,.20); isolation:isolate; }
.kh-invest-card::before { content:""; position:absolute; right:-11%; top:-44%; width:55%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.15); box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 140px rgba(255,255,255,.025); z-index:-1; }
.kh-invest-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:55px; align-items:end; }
.kh-invest-card .kh-kicker { color:#fff; opacity:.78; }
.kh-invest-card h2 { margin:0; max-width:780px; font-family:'General Sans',Inter,ui-sans-serif,system-ui,sans-serif; font-size:var(--kastor-title-subsection); line-height:.95; letter-spacing:-.05em; }
.kh-invest-card p { margin:20px 0 0; max-width:660px; color:rgba(255,255,255,.77); line-height:1.7; }
.kh-invest-points { display:grid; gap:10px; }
.kh-invest-point { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:.91rem; }
.kh-invest-point i { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-style:normal; background:rgba(255,255,255,.13); }

/* FINAL CTA */
.kh-final { text-align:center; }
.kh-final .kh-heading { margin-inline:auto; max-width:920px; }
.kh-final .kh-lead { margin-inline:auto; }
.kh-final-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:30px; }

@media (max-width:1100px) {
    .kh-search { grid-template-columns:1fr 1fr; }
    .kh-search-submit { width:100%; }
    .kh-proof-grid { grid-template-columns:1fr 1fr; }
    .kh-proof-item:nth-child(2) { border-right:0; }
    .kh-proof-item:nth-child(-n+2) { border-bottom:1px solid var(--kh-line); }
    .kh-programs-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
    .kh-program-card:first-child { grid-column:1 / -1; grid-row:auto; min-height:520px; }
    .kh-program-card:not(:first-child) { min-height:360px; }
    .kh-expertise-grid { grid-template-columns:1fr 1fr; }
    .kh-expertise-card:nth-child(2) { border-right:0; }
    .kh-expertise-card:nth-child(-n+2) { border-bottom:1px solid var(--kh-line); }
    .kh-brand-grid,.kh-invest-grid { grid-template-columns:1fr; }
}
@media (max-width:820px) {
    .kh-shell { width:min(calc(100% - 30px),var(--kh-container)); }
    .kh-search-wrap .kh-shell { width:min(calc(100% - 30px),1190px); }
    .kh-section { padding:46px 0; }
    .kh-section-head { display:block; margin-bottom:28px; }
    .kh-section-head .kh-lead { margin-top:14px; }
    .kh-lead { font-size:.96rem; line-height:1.58; }
    .kh-hero { min-height:min(660px,calc(100vh - 96px)); align-items:flex-start; }
    .kh-hero { min-height:min(660px,calc(100svh - 96px)); }
    .kh-hero-inner { padding:78px 0 24px; }
    .kh-hero-copy { width:100%; }
    .kh-hero h1 { line-height:1.02; }
    .kh-hero-text { margin-top:18px; max-width:620px; font-size:1rem; line-height:1.55; }
    .kh-hero-actions { margin-top:22px; }
    .kh-hero-foot { margin-top:28px; }
    .kh-hero-scroll { display:none; }
    .kh-search { transform:translateY(16px); grid-template-columns:1fr 1fr; padding:20px 16px 16px; }
    .kh-search-submit { grid-column:1 / -1; }
    .kh-search-custom { margin-top:34px; flex-direction:column; gap:14px; text-align:center; }
    .kh-proof { padding:42px 0 26px; }
    .kh-programs-grid,.kh-offers-grid { grid-template-columns:1fr; }
    .kh-program-card:first-child,.kh-program-card:not(:first-child) { grid-column:auto; min-height:390px; }
    .kh-program-card .kh-program-content,.kh-program-card:first-child .kh-program-content { padding:24px; }
    .kh-home-invest { padding-top:44px; }
    .kh-home-invest-card { padding:34px 30px; }
    .kh-home-follow-grid { grid-template-columns:1fr; }
    .kh-home-follow-copy { height:auto; min-height:230px; }
    .kh-home-follow-image { height:260px; border-left:0; border-top:1px solid rgba(128,13,22,.2); }
    .kh-expertise-grid { grid-template-columns:1fr; }
    .kh-expertise-card { border-right:0; border-bottom:1px solid var(--kh-line); }
    .kh-expertise-card:last-child { border-bottom:0; }
    .kh-brand-stats { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
    .kh-shell { width:min(calc(100% - 24px),var(--kh-container)); }
    .kh-search-wrap .kh-shell { width:min(calc(100% - 24px),1190px); }
    .kh-section { padding:38px 0; }
    .kh-section-head { margin-bottom:22px; }
    .kh-hero { min-height:min(570px,calc(100vh - 88px)); }
    .kh-hero { min-height:min(570px,calc(100svh - 88px)); }
    .kh-hero-inner { padding:56px 0 20px; }
    .kh-hero-text { margin-top:16px; font-size:.96rem; line-height:1.52; }
    .kh-hero-actions { margin-top:20px; gap:8px; }
    .kh-hero-actions .kh-btn { width:100%; min-height:50px; }
    .kh-hero-foot { margin-top:22px; }
    .kh-market-chip:nth-child(n+3) { display:none; }
    .kh-search { transform:translateY(12px); gap:8px; padding:18px 12px 12px; border-radius:16px; box-shadow:0 18px 42px rgba(94,8,16,.16),0 0 0 4px rgba(167,13,23,.045); }
    .kh-field label { margin-bottom:4px; font-size:.64rem; letter-spacing:.06em; }
    .kh-field select,.kh-field input { height:46px; padding:0 10px; border-radius:10px; font-size:.86rem; }
    .kh-search-submit { min-height:48px; }
    .kh-search-custom { margin-top:26px; padding:19px 14px; font-size:.94rem; line-height:1.45; border-radius:14px; }
    .kh-search-custom a { width:100%; min-height:46px; padding:0 14px; }
    .kh-proof { padding:34px 0 18px; }
    .kh-proof-grid { grid-template-columns:1fr 1fr; }
    .kh-proof-item,.kh-proof-item:first-child { min-height:0; padding:18px 10px; border-right:1px solid var(--kh-line); border-bottom:1px solid var(--kh-line); }
    .kh-proof-item:nth-child(2n) { border-right:0; }
    .kh-proof-item:nth-child(n+3) { border-bottom:0; }
    .kh-proof-value { font-size:clamp(1rem,4.5vw,1.35rem); line-height:1.08; }
    .kh-proof-label { margin-top:6px; font-size:.74rem; line-height:1.35; }
    .kh-program-card:first-child,.kh-program-card:not(:first-child) { min-height:325px; }
    .kh-program-card .kh-program-content,.kh-program-card:first-child .kh-program-content { padding:20px; }
    .kh-program-topline { margin-bottom:10px; }
    .kh-program-type,.kh-program-location { font-size:.68rem; }
    .kh-program-bottom { margin-top:14px; padding-top:13px; }
    .kh-program-text { display:none; }
    .kh-program-topline { align-items:flex-start; flex-direction:column; gap:5px; }
    .kh-offer-card { display:grid; grid-template-columns:41% 59%; border-radius:16px; }
    .kh-offer-image { aspect-ratio:auto; min-height:170px; }
    .kh-offer-body { padding:16px; display:flex; flex-direction:column; justify-content:center; }
    .kh-offer-title { font-size:1.05rem !important; line-height:1.12; }
    .kh-offer-location { margin-top:6px; font-size:.76rem; line-height:1.35; }
    .kh-offer-line { display:block; margin-top:12px; padding-top:11px; }
    .kh-offer-price,.kh-offer-link { display:block; font-size:.77rem; line-height:1.35; }
    .kh-home-invest { padding:36px 0 20px; }
    .kh-home-invest-card { padding:28px 22px; border-radius:18px; }
    .kh-home-invest-card p { font-size:.94rem; line-height:1.6; }
    .kh-home-invest-action .kh-btn { width:100%; }
    .kh-home-follow { padding:22px 0 46px; }
    .kh-home-follow-grid { border-radius:16px; }
    .kh-home-follow-copy { height:auto; min-height:210px; }
    .kh-home-follow-image { height:220px; }
    .kh-home-follow-copy { padding:28px 22px; }
    .kh-home-follow-copy h2 { font-size:2.05rem; }
    .kh-home-follow-bottom { margin-top:26px; }
    .kh-home-follow-bottom p { font-size:.95rem; line-height:1.6; }
    .kh-home-follow-bottom .kh-btn { width:100%; }
    .kh-offer-link { margin-top:5px; }
    .kh-expertise-card { min-height:0; padding:20px; }
    .kh-expertise-icon { width:40px; height:40px; margin-bottom:16px; }
    .kh-expertise-card p { margin-top:8px; font-size:.84rem; line-height:1.52; }
    .kh-brand-grid { gap:26px; }
    .kh-brand-copy { margin-top:18px; font-size:.95rem; line-height:1.6; }
    .kh-brand-actions { margin-top:20px; }
    .kh-brand-actions .kh-btn { width:100%; }
    .kh-brand-stats { grid-template-columns:1fr 1fr; }
    .kh-brand-stat { min-height:105px; padding:16px; }
    .kh-brand-stat strong { font-size:1.08rem; }
    .kh-brand-stat span { margin-top:6px; font-size:.72rem; line-height:1.35; }
    .kh-invest-card { border-radius:24px; }
    .kh-invest-card { padding:26px; }
    .kh-invest-grid { gap:24px; }
    .kh-invest-card p { margin-top:14px; font-size:.92rem; line-height:1.55; }
    .kh-invest-point { padding:10px 0; font-size:.8rem; line-height:1.4; }
    .kh-invest-point i { width:24px; height:24px; font-size:.68rem; }
    .kh-invest-card .kh-brand-actions .kh-btn { width:100%; }
    .kh-final { padding-top:38px; padding-bottom:42px; }
    .kh-final-actions .kh-btn { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
    .kh-home *, .kh-home *::before, .kh-home *::after { scroll-behavior:auto!important; transition:none!important; }
    .kh-hero-video video { display:none; }
}

/* Accent rouge vif réservé aux deux éléments signalés dans le héros. */
.kh-hero {
    --kh-red-vivid: #e31b23;
}
.kh-hero h1 { color:var(--kh-red-vivid); }
.kh-hero h1 span { color:#f0cbc9; }
.kh-hero .kh-btn--red {
    background:var(--kh-red-vivid);
    box-shadow:0 12px 28px rgba(227,27,35,.28);
}
.kh-hero .kh-btn--red:hover { background:#b70f18; }
