/* ============ page Charity — Cambodge ============ */
.cb-hero{position:relative;overflow:hidden;padding:clamp(140px,14vw,210px) 0 clamp(70px,7vw,110px);background:radial-gradient(ellipse 30% 34% at 74% 48%,rgba(150,90,214,.28) 0%,rgba(100,6,76,.24) 56%,transparent 78%),radial-gradient(ellipse 60% 60% at 96% 46%,rgba(89,7,71,.32) 0%,transparent 68%),linear-gradient(120deg,#0e0618 0%,#15071f 44%,#260b38 76%,#330d45 100%)}
.cb-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,46%);gap:clamp(34px,4.4vw,76px);align-items:center}
.cb-flagline{display:flex;align-items:center;gap:12px;margin-bottom:clamp(20px,2.2vw,28px)}
.cb-flag{width:36px;height:22.5px;border-radius:3px;overflow:hidden;flex-shrink:0;box-shadow:0 2px 10px rgba(0,0,0,.5);display:block}
.cb-country{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(15px,1.35vw,19px);letter-spacing:.16em;color:var(--off)}
.cb-h1{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(2.8rem,6vw,6.5rem);line-height:1.0;letter-spacing:-.008em;margin:0;font-weight:400}
.cb-h1 span{display:block;padding-top:.05em;margin-top:-.05em}
.cb-h1 .accent{color:var(--violet)}
.cb-sub{margin:clamp(22px,2.4vw,32px) 0 0;font-size:clamp(18px,1.5vw,21px);line-height:1.55;font-weight:600;color:var(--off);max-width:40ch}
.cb-intro{margin-top:clamp(18px,2vw,26px);max-width:48ch}
.cb-photo{position:relative;border-radius:clamp(14px,1.5vw,22px);overflow:hidden;border:1px solid rgba(150,90,214,.22);box-shadow:0 46px 80px -50px rgba(0,0,0,.9)}
.cb-photo img{width:100%;height:auto;display:block}
.cb-photo-badge{position:absolute;top:16px;left:16px;z-index:2;display:flex;flex-direction:column;gap:3px;padding:12px 16px;border-radius:12px;background:rgba(14,6,24,.76);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(164,92,246,.4)}
.cb-photo-badge b{font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--violet-lt)}
.cb-photo-badge strong{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:19px;letter-spacing:.05em;color:var(--off);font-weight:400}
.cb-photo-badge span{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--off-dim)}
.cb-photo-badge .cb-flag{width:19px;height:12px;border-radius:2px}
.cb-caption{margin-top:14px;font-size:12.5px;line-height:1.55;color:var(--off-faint)}

#projet .values-head,#modele .values-head{align-items:start}

/* infos clés */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,20px)}
.fact{padding:clamp(22px,2.4vw,30px);border-radius:16px;border:1px solid rgba(150,90,214,.2);background:linear-gradient(180deg,#1b0929,#150720);display:flex;flex-direction:column;gap:12px;transition:transform .25s ease,border-color .25s ease}
.fact:hover{transform:translateY(-4px);border-color:rgba(164,92,246,.45)}
.fact-mark{height:30px;display:flex;align-items:center;color:var(--violet-lt)}
.fact-mark svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.fact-mark .cb-flag{width:30px;height:19px}
.fact-mark .n{font-family:'Anton',sans-serif;font-size:26px;letter-spacing:.02em;line-height:1}
.fact b{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--off-faint)}
.fact span{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(16px,1.4vw,20px);letter-spacing:.04em;color:var(--off)}

/* modèle d'action */
.model{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,1.8vw,26px)}
.model-card{padding:clamp(28px,3vw,42px);border-radius:20px;border:1px solid rgba(150,90,214,.22);background:linear-gradient(180deg,#1d0a2c,#150720);display:flex;flex-direction:column;align-items:flex-start;gap:16px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.model-card:hover{transform:translateY(-4px);border-color:rgba(164,92,246,.5);box-shadow:0 34px 60px -34px rgba(150,90,214,.45)}
.model-card>img{width:clamp(150px,17vw,208px);height:auto;object-fit:contain;transition:transform .25s ease}
.model-card:hover>img{transform:scale(1.04)}
.model-card h3{font-size:clamp(19px,1.7vw,25px);letter-spacing:.04em;color:var(--off)}
.model-ratio{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(15px,1.35vw,19px);letter-spacing:.06em;color:var(--gold)}
.model-card p{font-size:15.5px;line-height:1.66;color:var(--off-dim)}

/* manifeste */
.manifesto{background:radial-gradient(ellipse 40% 50% at 50% 44%,rgba(150,90,214,.2),transparent 72%),linear-gradient(160deg,#150720,#260b38 74%,#330d45)}
.manifesto .wrap{max-width:900px;text-align:center}
.manifesto .eyebrow{justify-content:center}
.manifesto-h{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(2.6rem,6.4vw,6rem);line-height:1.0;letter-spacing:-.01em;margin:0 0 clamp(30px,3.4vw,48px);font-weight:400}
.manifesto-h em{font-style:normal;color:var(--violet)}
.manifesto p{font-size:17.5px;line-height:1.78;color:var(--off-dim);max-width:56ch;margin:0 auto 20px}
.manifesto p strong{color:var(--off);font-weight:700}
.manifesto-triad{display:flex;flex-direction:column;gap:6px;margin:clamp(26px,3vw,38px) auto;font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(18px,1.8vw,26px);letter-spacing:.04em;color:var(--off)}

/* partenaire (masqué tant que non validé) */
.partner[hidden]{display:none}
.partner-card{display:flex;align-items:center;gap:clamp(20px,2.4vw,36px);padding:clamp(26px,2.8vw,38px);border-radius:20px;border:1px solid rgba(150,90,214,.2);background:linear-gradient(120deg,#1b0929,#150720)}
.partner-card img{width:clamp(90px,10vw,140px);height:auto}

/* CTA final */
.cb-final{background:radial-gradient(ellipse 32% 40% at 68% 48%,rgba(150,90,214,.24),transparent 74%),linear-gradient(120deg,#0e0618,#15071f 48%,#260b38)}
.cb-final .wrap{max-width:940px}
.cb-final-h{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(2.6rem,5.6vw,5.4rem);line-height:1.0;letter-spacing:-.008em;margin:0;font-weight:400}
.cb-final-h .accent{color:var(--violet)}
.cb-back{position:fixed;left:0;right:0;top:0;z-index:60}

@media(max-width:1080px){.facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){
  .cb-hero-grid{grid-template-columns:1fr;gap:34px}
  .cb-hero{padding-top:clamp(104px,20vw,150px)}
  .model{grid-template-columns:1fr}
  .partner-card{flex-direction:column;align-items:flex-start;text-align:left}
}
@media(max-width:640px){
  .facts{grid-template-columns:1fr}
  .cb-photo-badge{padding:10px 13px}
  .cb-photo-badge strong{font-size:16px}
}
