:root{
  color-scheme:light;
  --font:'Jost',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --bg:#fbf7ee;
  --bg-2:#f1e7d8;
  --surface:rgba(255,255,255,.66);
  --surface-strong:#fffdf8;
  --ink:#0d2440;
  --ink-2:#667181;
  --muted:#9aa2ad;
  --accent:#b99755;
  --accent-2:#d9c38a;
  --accent-soft:rgba(185,151,85,.14);
  --accent-line:rgba(185,151,85,.28);
  --navy:#102a46;
  --line:rgba(16,42,70,.1);
  --line-2:rgba(16,42,70,.18);
  --shadow:0 30px 90px rgba(16,42,70,.13);
  --shadow-soft:0 18px 56px rgba(16,42,70,.09);
  --radius:26px;
  --radius-lg:42px;
  --ease:cubic-bezier(.16,1,.3,1);
}
html[data-territory="benin"]{
  --bg:#f4faf1;
  --bg-2:#e6f1e6;
  --ink:#0f2d1f;
  --navy:#123d2a;
  --accent:#2e8b57;
  --accent-2:#84c894;
  --accent-soft:rgba(46,139,87,.14);
  --accent-line:rgba(46,139,87,.28);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{font-family:var(--font);min-height:100vh;color:var(--ink);background:linear-gradient(140deg,var(--bg),#fffdf8 42%,var(--bg-2));overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .55s var(--ease),color .55s var(--ease)}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 14% 12%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 32rem),radial-gradient(circle at 86% 8%,rgba(85,123,142,.12),transparent 28rem),radial-gradient(circle at 82% 76%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 28rem);transition:background .55s var(--ease)}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:none}img,svg{display:block;max-width:100%}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section{position:relative;z-index:2;padding:112px 0}.section-head{width:min(880px,calc(100% - 48px));margin:0 auto 52px}.section-head.center{text-align:center}.eyebrow{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:14px;transition:color .55s var(--ease)}h1,h2,h3{font-weight:300;letter-spacing:-.05em}h2{font-size:clamp(2.2rem,4.8vw,5rem);line-height:.96}h3{font-size:clamp(1.24rem,2.3vw,2rem);line-height:1.08}.section-head p,.hero-lead,.group-copy p,.book-copy p,.contact-layout p{font-size:clamp(1rem,1.12vw,1.12rem);line-height:1.82;color:var(--ink-2);font-weight:300}.aura,.grain,.cursor-light,.transition-veil{position:fixed;pointer-events:none}.grain{inset:0;z-index:1;opacity:.13;background-image:radial-gradient(rgba(16,42,70,.09) .6px,transparent .6px);background-size:4px 4px;mix-blend-mode:multiply}.cursor-light{left:0;top:0;width:420px;height:420px;border-radius:50%;z-index:1;opacity:0;transform:translate3d(-50%,-50%,0);background:radial-gradient(circle,color-mix(in srgb,var(--accent) 20%,transparent),color-mix(in srgb,var(--accent) 7%,transparent) 40%,transparent 72%);filter:blur(7px);transition:opacity .22s ease,background .45s var(--ease);mix-blend-mode:multiply}.transition-veil{inset:0;z-index:190;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.9),transparent 70%);opacity:0;transform:scale(.95);transition:opacity .42s var(--ease),transform .42s var(--ease)}html.is-switching .transition-veil{opacity:.65;transform:scale(1)}.reveal{opacity:0;transform:translateY(24px);filter:blur(8px);transition:opacity .82s var(--ease),transform .82s var(--ease),filter .82s var(--ease)}.reveal.in{opacity:1;transform:translateY(0);filter:blur(0)}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}
.site-header{position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:100;width:min(1180px,calc(100% - 34px));min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px 10px 22px;border:1px solid rgba(255,255,255,.66);border-radius:999px;background:rgba(255,253,248,.74);backdrop-filter:blur(24px);box-shadow:0 18px 60px rgba(16,42,70,.1);transition:all .35s var(--ease)}.site-header.is-scrolled{top:10px;min-height:64px;background:rgba(255,253,248,.9);border-color:var(--line);box-shadow:var(--shadow-soft)}html[data-territory="benin"] .site-header{background:rgba(248,253,246,.8)}.brand{display:flex;align-items:center;min-width:184px}.brand-logo{width:184px;height:auto;object-fit:contain}.main-nav{display:flex;align-items:center;gap:25px}.main-nav a{font-size:.86rem;color:rgba(16,42,70,.66);transition:color .2s ease,transform .2s ease}.main-nav a:hover{color:var(--ink);transform:translateY(-1px)}.header-actions{display:flex;align-items:center;gap:10px}.territory-switch{display:flex;align-items:center;gap:3px;padding:4px;border-radius:999px;background:rgba(16,42,70,.06);border:1px solid var(--line)}.territory-button,.mobile-territory,.hero-index button{border-radius:999px;padding:8px 15px;font-size:.78rem;font-weight:500;color:var(--ink-2);transition:background .28s var(--ease),color .28s var(--ease),box-shadow .28s var(--ease),transform .28s var(--ease)}.territory-button.is-active,.mobile-territory.is-active,.hero-index button.is-active{background:var(--navy);color:#fff;box-shadow:0 10px 28px rgba(16,42,70,.14)}.admin-link{height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border-radius:999px;background:#fff;color:var(--ink);border:1px solid var(--line);font-size:.78rem;font-weight:500}.menu-toggle{display:none;width:42px;height:42px;border-radius:999px;background:var(--navy);align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:16px;height:1.5px;background:#fff;border-radius:99px;transition:transform .24s ease}.menu-toggle.is-open span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.hero{position:relative;z-index:2;min-height:100svh;padding-top:116px;display:flex;align-items:center;overflow:hidden}.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:72px;align-items:center}.hero-copy{position:relative;z-index:2}.hero-title{font-size:clamp(4.25rem,8.9vw,9.8rem);line-height:.86;font-weight:200;letter-spacing:-.085em;text-wrap:balance}.hero-title strong{font-weight:300;color:var(--accent);transition:color .55s var(--ease)}.hero-lead{max-width:680px;margin:30px 0 34px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-size:.95rem;font-weight:500;transition:transform .24s var(--ease),box-shadow .24s var(--ease),background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}.btn-primary{background:var(--navy);color:#fff;box-shadow:0 18px 48px rgba(16,42,70,.16)}.btn-secondary{background:rgba(255,255,255,.7);color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 32px rgba(16,42,70,.06)}.btn:hover{transform:translateY(-2px)}.mobile-territory-panel{display:none}.hero-bottom{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:18px}.signal{display:inline-flex;align-items:center;gap:10px;color:var(--ink-2);font-size:.82rem}.signal span{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px var(--accent-soft);animation:pulse 2.2s infinite}@keyframes pulse{50%{transform:scale(.78);box-shadow:0 0 0 14px transparent}}.hero-index{display:flex;gap:5px;padding:5px;border-radius:999px;background:rgba(255,255,255,.62);border:1px solid var(--line)}.hero-lines{position:absolute;inset:0;z-index:-1;pointer-events:none}.hero-lines span{position:absolute;border-radius:50%;border:1px solid rgba(16,42,70,.07);transition:border-color .55s var(--ease)}.hero-lines span:nth-child(1){width:68vw;height:68vw;right:-23vw;top:-20vw}.hero-lines span:nth-child(2){width:46vw;height:46vw;left:-18vw;bottom:-16vw}.hero-lines span:nth-child(3){width:16vw;height:16vw;right:22vw;bottom:15vw;background:var(--accent-soft);border:0;filter:blur(4px)}
.invest-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:30px;background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.48));border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow);backdrop-filter:blur(24px)}.invest-head{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:24px}.invest-head em{font-style:normal;color:var(--accent)}.orbit{position:relative;width:220px;height:220px;margin:0 auto 24px;display:grid;place-items:center}.orbit svg{position:absolute;inset:0;animation:spin 22s linear infinite}.orbit-base,.orbit-progress{fill:none;stroke-width:7}.orbit-base{stroke:rgba(16,42,70,.1)}.orbit-progress{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:540;stroke-dashoffset:130;filter:drop-shadow(0 0 12px var(--accent-soft))}.orbit-dot{fill:var(--accent)}.orbit-center{text-align:center}.orbit-center strong{display:block;font-size:2.4rem;font-weight:300;letter-spacing:-.06em}.orbit-center small{display:block;color:var(--ink-2);line-height:1.45}.invest-metrics{display:grid;gap:10px}.invest-metrics article{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:15px;border-radius:18px;background:rgba(255,255,255,.58);border:1px solid rgba(16,42,70,.08)}.invest-metrics span{font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.invest-metrics strong{font-size:1.5rem;font-weight:400}@keyframes spin{to{transform:rotate(360deg)}}.interactive-card{position:relative;overflow:hidden}.interactive-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--x,50%) var(--y,50%),rgba(255,255,255,.72),transparent 44%);opacity:0;transition:opacity .22s ease}.interactive-card:hover::before{opacity:.85}
.territory-france,.territory-benin{display:none!important}html[data-territory="france"] .territory-france{display:block!important}html[data-territory="benin"] .territory-benin{display:block!important}html[data-territory="france"] .sector-bento.territory-france,html[data-territory="benin"] .sector-bento.territory-benin{display:grid!important}.switch-content,.stage-copy{animation:contentIn .62s var(--ease) both}@keyframes contentIn{from{opacity:0;transform:translateY(12px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.portal-section{background:linear-gradient(180deg,transparent,rgba(255,255,255,.28))}.portal-layout{display:grid;grid-template-columns:360px 1fr;gap:18px;align-items:stretch}.portal-choice{display:grid;gap:12px}.choice-card{min-height:188px;text-align:left;border-radius:var(--radius);padding:24px;background:rgba(255,255,255,.64);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:transform .24s var(--ease),border-color .24s var(--ease),box-shadow .24s var(--ease),background .35s var(--ease)}.choice-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.choice-card.is-active{border-color:var(--accent-line);background:linear-gradient(180deg,rgba(255,255,255,.86),color-mix(in srgb,var(--accent) 9%,#fff))}.choice-card span{display:block;font-size:.76rem;color:var(--accent);letter-spacing:.18em;margin-bottom:18px}.choice-card strong{display:block;font-size:1.45rem;font-weight:400;margin-bottom:10px}.choice-card small{font-size:.98rem;color:var(--ink-2);line-height:1.65}.territory-stage{min-height:560px;position:relative;border-radius:var(--radius-lg);padding:34px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow);backdrop-filter:blur(24px)}.stage-map{position:absolute;inset:28px;opacity:.94}.stage-map svg{width:100%;height:100%}.route-main,.route-soft{fill:none;stroke-linecap:round}.route-main{stroke:url(#routeGradient);stroke-width:3;stroke-dasharray:8 14;animation:routeFlow 18s linear infinite}.route-soft{stroke:rgba(16,42,70,.08);stroke-width:1.5}.pin{fill:var(--accent);transition:fill .55s var(--ease)}.pulse{fill:none;stroke:var(--accent);stroke-width:1;opacity:.45;animation:pinPulse 2.8s infinite;transform-origin:center}.map-label{position:absolute;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ink);background:rgba(255,255,255,.72);border:1px solid var(--line);padding:8px 12px;border-radius:999px}.paris{left:19%;top:31%}.cotonou{right:10%;bottom:21%}@keyframes routeFlow{to{stroke-dashoffset:-220}}@keyframes pinPulse{50%{transform:scale(1.34);opacity:.15}}.stage-copy{position:relative;z-index:2;width:min(470px,100%);margin-left:auto;margin-top:auto;background:rgba(255,253,248,.72);border:1px solid rgba(255,255,255,.7);box-shadow:0 20px 60px rgba(16,42,70,.08);border-radius:28px;padding:28px;backdrop-filter:blur(18px)}.stage-copy h3{margin-bottom:14px}.stage-copy p{color:var(--ink-2);line-height:1.78;font-weight:300}.stage-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.stage-tags span,.founder-tags span{font-size:.78rem;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink-2)}
.signature-section{position:relative;z-index:2;padding:74px 0;background:var(--navy);color:#fff;overflow:hidden}.signature-section::before{content:"";position:absolute;width:42vw;height:42vw;right:-15vw;top:-24vw;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 30%,transparent),transparent 68%);animation:floatSoft 9s var(--ease) infinite alternate}.signature-inner{position:relative}.signature-inner p{font-size:clamp(1.8rem,3.2vw,3.6rem);line-height:1.12;font-weight:200;letter-spacing:-.045em;max-width:980px}.signature-inner span{display:block;margin-top:24px;color:rgba(255,255,255,.44);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}@keyframes floatSoft{to{transform:translate3d(-42px,32px,0) scale(1.08)}}
.group-grid{display:grid;grid-template-columns:430px 1fr;gap:74px;align-items:center}.founder-card{border-radius:var(--radius-lg);padding:34px;background:linear-gradient(160deg,var(--navy),#173554);color:#fff;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.1)}html[data-territory="benin"] .founder-card{background:linear-gradient(160deg,#123d2a,#1b5c3a)}.founder-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:42px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:rgba(255,255,255,.5)}.founder-kicker strong{font-weight:500;color:var(--accent-2)}.founder-card h2{font-size:clamp(2.2rem,4vw,4.5rem);line-height:.95;margin-bottom:18px}.founder-card p{color:rgba(255,255,255,.7);line-height:1.76;font-weight:300}.founder-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.founder-tags span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.72)}.group-copy h2{margin-bottom:24px}.group-copy p+p{margin-top:16px}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}.proof-grid article{padding:22px;border-radius:24px;background:rgba(255,255,255,.66);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.proof-grid span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:600}.proof-grid strong{display:block;font-size:clamp(1.8rem,2.5vw,2.6rem);font-weight:300;letter-spacing:-.06em;margin:10px 0 4px}.proof-grid small{color:var(--ink-2)}
.model-section{background:linear-gradient(180deg,rgba(255,255,255,.26),transparent)}.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.model-step{min-height:310px;border-radius:var(--radius);padding:26px;background:rgba(255,255,255,.66);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease)}.model-step:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--accent-line)}.model-step span{display:block;font-size:3.8rem;font-weight:200;letter-spacing:-.08em;color:color-mix(in srgb,var(--accent) 42%,transparent);margin-bottom:42px}.model-step h3{margin-bottom:12px}.model-step p{color:var(--ink-2);line-height:1.72;font-weight:300}
.sector-bento{display:none;grid-template-columns:repeat(12,1fr);gap:14px}.sector-card{grid-column:span 4;min-height:260px;border-radius:var(--radius);padding:26px;background:rgba(255,255,255,.68);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease)}.sector-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--accent-line)}.sector-card.large{grid-column:span 6;min-height:340px;background:linear-gradient(145deg,var(--navy),#1c436a);color:#fff}.sector-card.wide{grid-column:span 8}.sector-card span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:600;margin-bottom:52px}.sector-card.large span{color:var(--accent-2)}.sector-card h3{margin-bottom:14px}.sector-card p{color:var(--ink-2);line-height:1.74;font-weight:300}.sector-card.large p{color:rgba(255,255,255,.66)}
.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.event-card{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:stretch;border-radius:var(--radius);padding:18px;background:rgba(255,255,255,.66);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease)}.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--accent-line)}.event-date{border-radius:22px;background:var(--navy);color:#fff;display:grid;place-items:center;text-align:center;padding:16px}.event-date strong{font-size:2.7rem;font-weight:300;line-height:1}.event-date span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-2)}.event-content span{display:block;color:var(--accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:600;margin-bottom:10px}.event-content h3{margin-bottom:10px}.event-content p{color:var(--ink-2);line-height:1.72;font-weight:300}.event-content div{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.event-content em{font-style:normal;font-size:.76rem;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px}.btn-card{grid-column:1/-1;background:#fff;border:1px solid var(--line);color:var(--ink);min-height:44px}.booking-card{display:grid;grid-template-columns:.86fr 1.14fr;gap:42px;align-items:center;border-radius:var(--radius-lg);padding:36px;background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(255,255,255,.46));border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow);backdrop-filter:blur(24px)}.book-copy h2{margin-bottom:18px}.booking-form,.event-registration-form{display:grid;gap:13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:grid;gap:7px;color:var(--ink-2);font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;font-weight:500}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.78);padding:14px 15px;color:var(--ink);outline:0;letter-spacing:0;text-transform:none;font-size:1rem}textarea{resize:vertical;line-height:1.6}input:focus,textarea:focus,select:focus{border-color:var(--accent-line);box-shadow:0 0 0 5px var(--accent-soft)}.form-note{min-height:20px;color:var(--ink-2);font-size:.9rem}.contact-layout{display:grid;grid-template-columns:1fr 420px;gap:52px;align-items:start}.contact-card{display:grid;gap:12px;border-radius:var(--radius);padding:28px;background:rgba(255,255,255,.68);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.contact-card a,.contact-card address{font-style:normal;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink)}.contact-card address{border-bottom:0;color:var(--ink-2)}
.footer{position:relative;z-index:2;padding:60px 0;background:var(--navy);color:#fff}.footer-grid{display:grid;grid-template-columns:1fr 1fr 360px;gap:42px;align-items:start}.footer-logo{width:220px;background:#fff;border-radius:18px;padding:10px 12px;box-shadow:0 16px 42px rgba(0,0,0,.15)}.footer-brand p{margin-top:16px;color:rgba(255,255,255,.48);line-height:1.7;max-width:360px}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.footer nav a{color:rgba(255,255,255,.52);transition:color .2s ease}.footer nav a:hover{color:#fff}.legal-card{border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:22px;background:rgba(255,255,255,.05)}.legal-card strong{display:block;margin-bottom:12px;color:#fff}.legal-card p{color:rgba(255,255,255,.5);line-height:1.55;font-size:.92rem}
.modal{position:fixed;inset:0;z-index:220;display:none;place-items:center;padding:20px;background:rgba(16,42,70,.48);backdrop-filter:blur(16px)}.modal.is-open{display:grid}.modal-card{width:min(100%,620px);max-height:92svh;overflow:auto;border-radius:32px;background:var(--surface-strong);padding:32px;box-shadow:0 40px 120px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.68);animation:modalIn .36s var(--ease) both}.modal-close{position:absolute;right:20px;top:18px;width:38px;height:38px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:1.5rem;color:var(--ink)}.modal-card h2{font-size:2.2rem;margin-bottom:8px}.modal-event{color:var(--ink-2);margin-bottom:20px}.modal-actions{display:flex;gap:10px;flex-wrap:wrap}@keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(pointer:fine){.magnet{will-change:transform}.cursor-light{display:block}}
@media(max-width:1120px){.main-nav{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:16px;border-radius:28px;background:rgba(255,253,248,.96);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(20px)}.main-nav.is-open{display:flex}.main-nav a{padding:14px 16px;border-radius:18px}.menu-toggle{display:flex}.admin-link{display:none}.hero-inner,.group-grid,.booking-card,.contact-layout{grid-template-columns:1fr}.hero-inner{gap:36px}.invest-card{width:min(100%,520px)}.portal-layout{grid-template-columns:1fr}.portal-choice{grid-template-columns:1fr 1fr}.model-grid{grid-template-columns:repeat(2,1fr)}.sector-card,.sector-card.large,.sector-card.wide{grid-column:span 6}.footer-grid{grid-template-columns:1fr}.footer nav{grid-template-columns:repeat(3,1fr)}.legal-card{max-width:520px}}
@media(max-width:760px){.shell,.section-head{width:min(100% - 32px,1180px)}.section{padding:78px 0}.site-header{top:10px;width:calc(100% - 20px);min-height:64px;border-radius:28px;padding:10px 12px}.brand{min-width:0}.brand-logo{width:136px}.territory-switch{display:flex;position:absolute;left:12px;right:60px;top:76px;justify-content:center;background:rgba(255,253,248,.96);backdrop-filter:blur(18px);box-shadow:var(--shadow-soft);padding:5px}.territory-button{flex:1}.main-nav{top:132px}.hero{min-height:auto;padding-top:152px}.hero-title{font-size:clamp(3.34rem,17vw,5.6rem)}.hero-lead{margin:24px 0 24px}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.mobile-territory-panel{display:none}.invest-card{display:none}.hero-bottom{position:relative;left:auto;bottom:auto;transform:none;margin-top:28px;display:grid}.hero-index{display:none}.signal{font-size:.78rem}.portal-choice{grid-template-columns:1fr}.choice-card{min-height:auto}.territory-stage{min-height:520px;padding:20px}.stage-map{inset:12px}.stage-copy{margin-top:210px;padding:22px}.map-label{font-size:.64rem}.paris{left:15%;top:29%}.cotonou{right:4%;bottom:31%}.signature-section{padding:58px 0}.proof-grid,.model-grid,.sector-bento,.event-grid,.form-row{grid-template-columns:1fr!important}.sector-card,.sector-card.large,.sector-card.wide{grid-column:1/-1;min-height:230px}.event-card{grid-template-columns:1fr}.event-date{width:110px}.booking-card{padding:22px;border-radius:30px}.contact-card{padding:22px}.footer{padding:44px 0}.footer-logo{width:188px}.footer nav{grid-template-columns:1fr 1fr}.modal-card{padding:28px 20px}.modal-actions{flex-direction:column}.cursor-light{display:none}}
@media(max-width:430px){.brand-logo{width:126px}.territory-button{font-size:.72rem;padding:8px 10px}.hero-title{letter-spacing:-.075em}.choice-card,.founder-card,.model-step,.sector-card{padding:22px}.footer nav{grid-template-columns:1fr}.stage-copy{margin-top:230px}.modal-card h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}.cursor-light{display:none}.interactive-card::before{display:none}}


/* =========================================================
   V12 MOBILE POLISH
   Correctif rendu mobile, fluidite et distinction France/Benin
========================================================= */
@media(max-width:760px){
  body{
    background:
      radial-gradient(circle at 16% 4%, color-mix(in srgb,var(--accent) 18%,transparent), transparent 18rem),
      linear-gradient(160deg,var(--bg),#fffdf8 48%,var(--bg-2));
  }
  .grain{opacity:.08}
  .site-header{
    width:calc(100% - 18px);
    min-height:64px;
    padding:9px 10px 9px 14px;
    border-radius:26px;
  }
  .brand-logo{width:132px}
  .menu-toggle{width:40px;height:40px;flex:0 0 40px}
  .header-actions{gap:8px}
  .territory-switch{
    left:10px;
    right:10px;
    top:75px;
    padding:5px;
    gap:5px;
    border-radius:999px;
    background:rgba(255,253,248,.94);
    border:1px solid rgba(255,255,255,.72);
  }
  html[data-territory="benin"] .territory-switch{background:rgba(248,253,246,.95)}
  .territory-button{
    min-height:36px;
    padding:8px 10px;
    font-size:.76rem;
    letter-spacing:.01em;
  }
  .main-nav{top:130px;left:10px;right:10px}
  .hero{
    display:block;
    min-height:100svh;
    padding-top:152px;
    padding-bottom:42px;
    overflow:hidden;
  }
  .hero-inner{
    display:block;
    width:calc(100% - 34px);
    margin-inline:auto;
  }
  .hero-copy{width:100%;max-width:none}
  .eyebrow{
    max-width:100%;
    font-size:.62rem;
    letter-spacing:.18em;
    line-height:1.75;
    margin-bottom:18px;
    word-break:normal;
  }
  .hero-title{
    font-size:clamp(3.05rem,15.2vw,4.6rem);
    line-height:.93;
    letter-spacing:-.058em;
    max-width:100%;
    padding-left:2px;
    text-wrap:balance;
  }
  .hero-lead{
    max-width:100%;
    margin:24px 0 26px;
    font-size:1.02rem;
    line-height:1.72;
  }
  .hero-actions{gap:10px}
  .btn{min-height:49px;font-size:.94rem}
  .hero-bottom{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:calc(100% - 34px);
    margin:24px auto 0;
    display:block;
  }
  .signal{
    width:100%;
    align-items:flex-start;
    padding:13px 16px;
    border-radius:20px;
    background:rgba(255,255,255,.62);
    border:1px solid var(--line);
    box-shadow:0 14px 36px rgba(16,42,70,.07);
    line-height:1.45;
  }
  html[data-territory="benin"] .signal{background:rgba(255,255,255,.58)}
  .signal span{margin-top:5px;flex:0 0 8px}
  .hero-lines span:nth-child(1){width:120vw;height:120vw;right:-54vw;top:-24vw}
  .hero-lines span:nth-child(2){width:96vw;height:96vw;left:-52vw;bottom:-28vw}
  .hero-lines span:nth-child(3){width:28vw;height:28vw;right:16vw;bottom:16vw;filter:blur(6px)}
  .section-head h2{font-size:clamp(2rem,10.5vw,3.2rem);line-height:1.02;letter-spacing:-.055em}
}

@media(max-width:430px){
  .site-header{width:calc(100% - 18px)}
  .brand-logo{width:118px}
  .territory-button{font-size:.72rem;min-height:35px}
  .hero{padding-top:150px}
  .hero-inner,.hero-bottom{width:calc(100% - 30px)}
  .eyebrow{font-size:.58rem;letter-spacing:.16em;line-height:1.72}
  .hero-title{font-size:clamp(3rem,14.9vw,4rem);letter-spacing:-.052em;line-height:.95}
  .hero-lead{font-size:1rem;line-height:1.74}
}

@media(max-width:360px){
  .brand-logo{width:108px}
  .territory-button{font-size:.68rem;padding-inline:8px}
  .hero-title{font-size:2.85rem}
  .hero-lead{font-size:.96rem}
}
