/* Hub des Entrepreneurs — feuille de styles
   Mise en page : bandes pleine largeur alternées (sable / marine), contenu centré 1160px,
   la boussole du logo sert de fil conducteur (4 repères = 4 points cardinaux). */
:root{
  --marine:#0d2b4e;      /* couleur de marque principale */
  --marine-2:#163a63;
  --lagon:#1f93b0;       /* cyan du logo, assombri pour le texte sur fond clair */
  --lagon-vif:#2ca6c4;
  --or:#f5b32d;          /* or du logo : réservé aux actions */
  --or-fonce:#e09a18;

  --bg:#f4f7f9;
  --surface:#ffffff;
  --ink:#0f2238;
  --heading:#0d2b4e;
  --muted:#53667a;
  --line:#dbe5ed;
  --tint:#e8f3f7;
  --band:#0d2b4e;
  --band-2:#163a63;
  --on-band:#ffffff;
  --on-band-muted:rgba(255,255,255,.74);
  --on-or:#0d2b4e;

  --f-display:"Lexend","Segoe UI",system-ui,sans-serif;
  --f-body:"Figtree","Segoe UI",system-ui,-apple-system,Arial,sans-serif;

  --r:14px;
  --r-lg:22px;
  --shadow:0 18px 50px -24px rgba(13,43,78,.35);
  --wrap:1160px;
  --head-h:72px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0a1a2c;--surface:#10253c;--ink:#e6edf4;--heading:#f1f5f9;--muted:#9db0c3;
    --line:#1e3a57;--tint:#12304a;--band:#06121f;--band-2:#0f2740;--lagon:#5fc3da;
    --shadow:0 18px 50px -24px rgba(0,0,0,.7);color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0a1a2c;--surface:#10253c;--ink:#e6edf4;--heading:#f1f5f9;--muted:#9db0c3;
  --line:#1e3a57;--tint:#12304a;--band:#06121f;--band-2:#0f2740;--lagon:#5fc3da;
  --shadow:0 18px 50px -24px rgba(0,0,0,.7);color-scheme:dark;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--surface)}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--heading);line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.5rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:700}
h3{font-size:1.2rem;font-weight:700}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.stack{display:flex;flex-direction:column;gap:16px}
.muted{color:var(--muted)}
.skip{position:absolute;left:-999px;top:8px;background:var(--or);color:var(--on-or);padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--lagon-vif);outline-offset:3px;border-radius:6px}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 .95rem/1 var(--f-body);padding:15px 24px;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s,background .2s,box-shadow .2s,color .2s}
.btn-or{background:var(--or);color:var(--on-or)}
.btn-or:hover{background:var(--or-fonce);transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(224,154,24,.8)}
.btn-ligne{border-color:var(--lagon);color:var(--heading);background:transparent}
.btn-ligne:hover{background:var(--lagon);color:#fff}
.btn-clair{background:#fff;color:var(--marine)}
.btn-clair:hover{transform:translateY(-2px)}
.btn-band{border-color:rgba(255,255,255,.4);color:var(--on-band);background:transparent}
.btn-band:hover{border-color:var(--or);color:var(--or)}
.btns{display:flex;flex-wrap:wrap;gap:12px}

.eyebrow{font:700 .74rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--lagon);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--or)}

/* ---------- En-tête ---------- */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--head-h)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.brand img{width:46px;height:46px;border-radius:50%;box-shadow:0 0 0 1px var(--line)}
.brand b{font:800 1rem/1 var(--f-display);color:var(--heading);display:block;letter-spacing:-.01em}
.brand small{font:700 .62rem/1.4 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--lagon)}
.menu{display:flex;align-items:center;gap:6px}
.menu a{font-weight:600;font-size:.94rem;color:var(--ink);text-decoration:none;padding:8px 12px;border-radius:999px;transition:background .2s,color .2s}
.menu a:hover{background:var(--tint)}
.menu a[aria-current="page"]{color:var(--heading);background:var(--tint);box-shadow:inset 0 -2px 0 var(--or)}
.menu .btn{padding:11px 18px;margin-left:8px}
.menu .btn:hover{background:var(--or-fonce)}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer;color:var(--heading)}
.burger span{display:block;width:24px;height:2.5px;background:currentColor;border-radius:2px;margin:5px 0;transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ---------- Pages ---------- */
.page{animation:fade .35s ease}
@keyframes fade{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
.js .page:not(.is-active){display:none}
section{padding-block:clamp(56px,8vw,96px)}
.sec-head{display:flex;flex-direction:column;gap:14px;max-width:680px;margin-bottom:44px}
.sec-head.center{margin-inline:auto;text-align:center;align-items:center}
.sec-head p{color:var(--muted);font-size:1.08rem}

/* ---------- Héros accueil ---------- */
.hero{padding-block:clamp(40px,6vw,72px) clamp(56px,7vw,88px);background:
  radial-gradient(900px 420px at 85% 10%,color-mix(in srgb,var(--lagon-vif) 16%,transparent),transparent 70%),var(--bg)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,64px);align-items:center}
.hero-txt{display:flex;flex-direction:column;gap:22px;min-width:0}
.hero h1{position:relative;z-index:0}
.hero h1 em{font-style:normal;color:var(--lagon);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.14em;background:var(--or);border-radius:4px;z-index:-1;opacity:.85}
.hero .lead{font-size:1.18rem;color:var(--muted);max-width:56ch}
.reassure{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.9rem;color:var(--muted);padding:0;margin:0;list-style:none}
.reassure li{display:flex;align-items:center;gap:8px}
.reassure li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--or)}
.hero-visual{position:relative;min-width:0}
.hero-photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow);max-width:100%}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-badge{position:absolute;left:-22px;bottom:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow);max-width:260px}
.hero-badge img{width:44px;height:44px;border-radius:50%}
.hero-badge b{font:800 1.3rem/1 var(--f-display);color:var(--heading);display:block}
.hero-badge span{font-size:.82rem;color:var(--muted);line-height:1.3}
.hero-quote{position:absolute;right:-14px;top:24px;background:var(--marine);color:#fff;border-radius:var(--r);padding:14px 16px;max-width:220px;font-size:.88rem;line-height:1.4;box-shadow:var(--shadow)}
.hero-quote b{color:var(--or)}

/* ---------- Bande jargon ---------- */
.jargon{background:var(--band);color:var(--on-band);padding-block:22px}
.jargon .wrap{display:flex;align-items:center;gap:18px 28px;flex-wrap:wrap;justify-content:center}
.jargon p{font-size:.9rem;color:var(--on-band-muted)}
.jargon ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;justify-content:center}
.jargon li{font:600 .85rem/1 var(--f-body);padding:9px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#fff}
.jargon li:last-child{background:var(--or);color:var(--marine);border-color:var(--or)}

/* ---------- Douleur / promesse ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.split > *{min-width:0}
.pain-list{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}
.pain-list li{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.pain-list .q{flex:0 0 30px;height:30px;border-radius:50%;background:var(--tint);color:var(--lagon);display:grid;place-items:center;font:800 .95rem/1 var(--f-display)}
.answer{background:var(--band);color:var(--on-band);border-radius:var(--r-lg);padding:clamp(26px,4vw,40px);display:flex;flex-direction:column;gap:18px}
.answer h3{color:#fff;font-size:1.5rem}
.answer p{color:var(--on-band-muted)}
.answer strong{color:var(--or);font-weight:700}

/* ---------- Boussole des 4 repères ---------- */
.compass{display:grid;grid-template-columns:1fr minmax(180px,240px) 1fr;grid-template-areas:". n ." "w c e" ". s .";gap:18px 26px;align-items:center}
.compass .pt{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;display:flex;flex-direction:column;gap:6px;transition:transform .2s,box-shadow .2s,border-color .2s}
.compass .pt:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.compass .pt .k{font:800 .72rem/1 var(--f-body);letter-spacing:.16em;color:var(--lagon);text-transform:uppercase}
.compass .pt h3{font-size:1.25rem}
.compass .pt p{font-size:.95rem;color:var(--muted)}
.pt-n{grid-area:n}.pt-e{grid-area:e}.pt-s{grid-area:s}.pt-w{grid-area:w}
.pt-n,.pt-s{text-align:center;align-items:center}
.pt-e{text-align:left}.pt-w{text-align:right;align-items:flex-end}
.rose{grid-area:c;width:100%;max-width:240px;aspect-ratio:1;justify-self:center}
.rose svg{width:100%;height:100%;overflow:visible}
.rose .needle{transform-origin:120px 120px;animation:swing 6s ease-in-out infinite}
@keyframes swing{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}

/* ---------- Cartes offres ---------- */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.offer{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px;display:flex;flex-direction:column;gap:16px;position:relative;min-width:0}
.offer .tag{font:700 .72rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--lagon)}
.offer h3{font-size:1.5rem}
.price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.price b{font:800 2rem/1 var(--f-display);color:var(--heading)}
.price span{color:var(--muted);font-size:.92rem}
.offer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:.95rem}
.offer li{display:flex;gap:10px;align-items:flex-start}
.offer li::before{content:"";flex:0 0 18px;height:18px;margin-top:3px;border-radius:50%;background:var(--tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.6 2.5L13 6.5' fill='none' stroke='%231f93b0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.offer .btn{margin-top:auto}
.offer.featured{background:var(--band);border-color:var(--band);color:var(--on-band);box-shadow:var(--shadow)}
.offer.featured h3,.offer.featured .price b{color:#fff}
.offer.featured .price span,.offer.featured p{color:var(--on-band-muted)}
.offer.featured .tag{color:var(--or)}
.offer.featured li::before{background-color:rgba(255,255,255,.12);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.6 2.5L13 6.5' fill='none' stroke='%23f5b32d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ribbon{position:absolute;top:-13px;right:24px;background:var(--or);color:var(--marine);font:800 .72rem/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;border-radius:999px}
.guarantee{display:flex;gap:12px;align-items:center;font-size:.86rem;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.08);color:var(--on-band)}
.guarantee b{font:800 1.4rem/1 var(--f-display);color:var(--or)}

.strip{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,4vw,36px);margin-top:26px}
.strip > *{min-width:0}
.strip-prices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.strip-prices div{background:var(--tint);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:6px}
.strip-prices b{font:800 1.5rem/1 var(--f-display);color:var(--heading);font-variant-numeric:tabular-nums}
.strip-prices span{font-size:.85rem;color:var(--muted)}

.soon{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.soon article{border:1.5px dashed var(--line);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:10px;background:color-mix(in srgb,var(--surface) 50%,transparent)}
.pill{align-self:flex-start;font:700 .72rem/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;padding:7px 11px;border-radius:999px;background:var(--tint);color:var(--lagon)}

/* ---------- Bandes marine ---------- */
.band{background:var(--band);color:var(--on-band)}
.band h2,.band h3{color:#fff}
.band .sec-head p,.band p{color:var(--on-band-muted)}
.band .eyebrow{color:var(--lagon-vif)}

.promise{text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.promise blockquote{margin:0;font:700 clamp(1.5rem,3.4vw,2.4rem)/1.25 var(--f-display);color:#fff;max-width:24ch;text-wrap:balance}
.promise blockquote span{color:var(--or)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:100%;max-width:880px;margin-top:12px}
.stats div{border-top:2px solid rgba(255,255,255,.16);padding-top:16px;display:flex;flex-direction:column;gap:4px;text-align:left}
.stats b{font:800 2rem/1 var(--f-display);color:#fff;font-variant-numeric:tabular-nums}
.stats span{font-size:.9rem;color:var(--on-band-muted)}

/* ---------- Événement ---------- */
.event{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center}
.event > *{min-width:0}
.ticket{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.ticket-top{background:linear-gradient(135deg,var(--marine),var(--marine-2));padding:28px;color:#fff;display:flex;flex-direction:column;gap:8px;position:relative}
.ticket-top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:14px;background:radial-gradient(circle at 10px -2px,transparent 9px,var(--surface) 10px) repeat-x;background-size:20px 14px}
.ticket-top .k{color:var(--or);font:700 .74rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase}
.ticket-top h3{color:#fff;font-size:1.7rem}
.ticket-body{padding:24px 28px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ticket-body div{display:flex;flex-direction:column;gap:2px}
.ticket-body small{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ticket-body b{color:var(--heading);font-weight:700}
.speakers{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.speaker{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.speaker .av{flex:0 0 52px;height:52px;border-radius:50%;display:grid;place-items:center;font:800 1.1rem/1 var(--f-display);color:#fff;background:linear-gradient(135deg,var(--lagon-vif),var(--marine))}
.speaker b{display:block;color:var(--heading)}
.speaker span{font-size:.88rem;color:var(--muted)}
.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;border-left:2px solid var(--line);margin-left:8px}
.timeline li{position:relative;padding:0 0 22px 24px}
.timeline li::before{content:"";position:absolute;left:-8px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--surface);border:3px solid var(--or)}
.timeline b{display:block;color:var(--heading);font-family:var(--f-display)}
.timeline span{color:var(--muted);font-size:.95rem}

/* ---------- Équipe ---------- */
.team{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.person{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;display:flex;flex-direction:column;gap:14px}
.person-top{display:flex;gap:16px;align-items:center}
.person .av{flex:0 0 76px;height:76px;border-radius:50%;display:grid;place-items:center;font:800 1.8rem/1 var(--f-display);color:#fff}
.person .av.w{background:linear-gradient(135deg,var(--lagon-vif),var(--marine))}
.person .av.r{background:linear-gradient(135deg,var(--or),var(--or-fonce));color:var(--marine)}
.person .role{color:var(--lagon);font-weight:700;font-size:.9rem}
.person p{color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chips li{font-size:.82rem;font-weight:600;padding:6px 11px;border-radius:999px;background:var(--tint);color:var(--heading)}
.network{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.network div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:6px}
.network b{color:var(--heading);font-family:var(--f-display)}
.network span{font-size:.9rem;color:var(--muted)}
.network .pill{margin-top:4px}

/* ---------- Mission (Le Hub) ---------- */
.page-hero{padding-block:clamp(44px,6vw,72px);background:var(--band);color:var(--on-band);position:relative;overflow:hidden}
.page-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3.1rem);max-width:20ch}
.page-hero p{color:var(--on-band-muted);font-size:1.12rem;max-width:60ch}
.page-hero .wrap{display:flex;flex-direction:column;gap:18px;position:relative;z-index:1}
.page-hero .eyebrow{color:var(--lagon-vif)}
.page-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 40px rgba(255,255,255,.025),0 0 0 80px rgba(255,255,255,.02)}
.verbs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:v}
.verbs article{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:3px solid var(--or)}
.verbs h3{font-size:1.45rem}
.verbs p{color:var(--muted)}
.who{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.who article{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:10px}
.who .k{font:800 .74rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--lagon)}
.who p{color:var(--muted);font-size:.96rem}
.connect{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:center;text-align:center}
.connect .node{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:20px 16px;display:flex;flex-direction:column;gap:6px}
.connect .node b{color:#fff;font-family:var(--f-display)}
.connect .node span{font-size:.88rem;color:var(--on-band-muted)}
.connect .node.hub{background:var(--or);border-color:var(--or)}
.connect .node.hub b{color:var(--marine)}
.connect .node.hub span{color:var(--marine);opacity:.8}
.connect .arrow{color:var(--or);font-size:1.4rem}
.horizon{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.horizon li{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:.9rem}
.horizon li:first-child{background:var(--marine);color:#fff;border-color:var(--marine)}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:12px;max-width:820px;margin-inline:auto}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0 22px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font:600 1.04rem/1.4 var(--f-display);color:var(--heading);display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--lagon);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:18px;color:var(--muted)}

/* ---------- Contact / formulaires ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,48px);align-items:start}
.contact-grid > *{min-width:0}
.call-card{background:var(--band);color:var(--on-band);border-radius:var(--r-lg);padding:30px;display:flex;flex-direction:column;gap:16px}
.call-card h3{color:#fff;font-size:1.5rem}
.call-card p{color:var(--on-band-muted)}
.call-card .dur{display:flex;gap:10px;flex-wrap:wrap}
.call-card .dur span{font-weight:700;font-size:.85rem;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff}
.coords{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.coord{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.coord small{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.coord b{color:var(--heading);word-break:break-word}
.coord .ic{flex:0 0 40px;height:40px;border-radius:12px;background:var(--tint);display:grid;place-items:center;color:var(--lagon)}
.coord .copy{margin-left:auto;font:700 .8rem/1 var(--f-body);background:none;border:1.5px solid var(--line);color:var(--heading);border-radius:999px;padding:8px 12px;cursor:pointer}
.coord .copy:hover{border-color:var(--lagon)}
form.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow)}
form.card h3{font-size:1.35rem}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-weight:700;font-size:.85rem;color:var(--heading)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--lagon);box-shadow:0 0 0 4px color-mix(in srgb,var(--lagon-vif) 20%,transparent)}
.field textarea{min-height:110px;resize:vertical}
.form-ok{display:flex;gap:10px;align-items:flex-start;background:var(--tint);border-radius:12px;padding:14px;font-size:.92rem;color:var(--heading)}
.form-note{font-size:.8rem;color:var(--muted)}
.newsletter{display:flex;gap:10px;flex-wrap:wrap}
.newsletter input{flex:1 1 220px;min-width:0;font:inherit;padding:14px 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff}
.newsletter input::placeholder{color:rgba(255,255,255,.6)}

/* ---------- Appel final ---------- */
.final{background:linear-gradient(120deg,var(--marine) 0%,var(--marine-2) 55%,#1a6f8a 100%);color:#fff;border-radius:var(--r-lg);padding:clamp(30px,5vw,56px);display:grid;grid-template-columns:1.3fr auto;gap:28px;align-items:center}
.final h2{color:#fff}
.final p{color:rgba(255,255,255,.8);margin-top:10px;max-width:52ch}

/* ---------- Pied de page ---------- */
.site-foot{background:var(--band);color:var(--on-band-muted);padding-block:56px 28px;font-size:.92rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px}
.foot-grid h4{color:#fff;font:700 .78rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
.foot-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.foot-grid a{text-decoration:none}
.foot-grid a:hover{color:var(--or)}
.foot-brand{display:flex;flex-direction:column;gap:14px;max-width:300px}
.foot-brand .brand b{color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.84rem}
.foot-bottom em{font-style:normal;color:var(--or)}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translate(-50%,140%);background:var(--marine);color:#fff;padding:14px 22px;border-radius:999px;font-weight:600;font-size:.92rem;box-shadow:var(--shadow);z-index:90;transition:transform .35s cubic-bezier(.2,.8,.3,1);max-width:calc(100vw - 32px);text-align:center}
.toast.show{transform:translate(-50%,0)}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .menu{display:none;position:absolute;top:var(--head-h);left:0;right:0;flex-direction:column;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--line);padding:14px max(20px,env(safe-area-inset-right,0px)) 20px max(20px,env(safe-area-inset-left,0px));box-shadow:var(--shadow);gap:4px}
  .menu.open{display:flex}
  .menu a{padding:12px 14px}
  .menu .btn{margin:8px 0 0}
  .burger{display:block}
  .hero-grid,.split,.event,.contact-grid,.strip{grid-template-columns:1fr}
  .hero-visual{max-width:460px;margin-inline:auto;width:100%}
  .offers,.verbs,.who{grid-template-columns:1fr}
  .offers{max-width:560px;margin-inline:auto}
  .network{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .final{grid-template-columns:1fr}
  .connect{grid-template-columns:1fr;gap:8px}
  .connect .arrow{transform:rotate(90deg)}
}
@media (max-width:760px){
  .compass{grid-template-columns:1fr;grid-template-areas:"c" "n" "e" "s" "w";gap:14px}
  .rose{max-width:170px}
  .compass .pt,.pt-w,.pt-e{text-align:left;align-items:flex-start}
  .team,.soon,.speakers{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
}
@media (max-width:520px){
  body{font-size:16px}
  .hero-badge{left:8px;bottom:12px}
  .hero-quote{right:8px;top:12px}
  .row2,.strip-prices,.network,.foot-grid,.ticket-body{grid-template-columns:1fr}
  .brand small{display:none}
  .btns .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* Cartes claires posées sur une bande marine */
.band .offer:not(.featured) h3,.band .offer:not(.featured) .price b{color:var(--heading)}
.band .offer:not(.featured) p{color:var(--muted)}
/* Toast caché tant qu'il n'est pas affiché */
.toast{transform:translate(-50%,calc(100% + 60px));visibility:hidden}
.toast.show{visibility:visible}

/* ---------- Nom « Polynésiens » mis en avant ---------- */
.brand .pf{color:var(--lagon)}
.hero .tagline{font:700 clamp(1.15rem,2.2vw,1.5rem)/1.3 var(--f-display);color:var(--heading);margin-top:-8px}
.hero h1{font-size:clamp(2.2rem,5.2vw,3.7rem)}

/* ---------- Page PRIME ---------- */
.inside{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.inside article{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:10px;min-width:0}
.inside article.big{grid-row:span 2;background:var(--band);border-color:var(--band);justify-content:flex-end}
.inside article.big h3{color:#fff;font-size:1.6rem}
.inside article.big p{color:var(--on-band-muted)}
.inside article.big .k{color:var(--or)}
.inside .k{font:800 .74rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--lagon)}
.inside p{color:var(--muted);font-size:.96rem}
.cap{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cap li{border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:10px;background:rgba(255,255,255,.04)}
.cap b{font:800 2.6rem/1 var(--f-display);color:var(--or)}
.answer .guarantee{background:rgba(255,255,255,.08)}
@media (max-width:980px){.inside{grid-template-columns:1fr 1fr}.inside article.big{grid-column:1/-1;grid-row:auto}.cap{grid-template-columns:1fr}}
@media (max-width:560px){.inside{grid-template-columns:1fr}}
.menu a{white-space:nowrap;padding:8px 10px}
.menu{gap:2px}
@media (max-width:1140px){
  .menu{display:none;position:absolute;top:var(--head-h);left:0;right:0;flex-direction:column;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--line);padding:14px max(20px,env(safe-area-inset-right,0px)) 20px max(20px,env(safe-area-inset-left,0px));box-shadow:var(--shadow);gap:4px}
  .menu.open{display:flex}
  .menu a{padding:12px 14px}
  .menu .btn{margin:8px 0 0}
  .burger{display:block}
}

/* ---------- Photos Pacifica Business Night ---------- */
.ticket-photo{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;grid-auto-flow:dense;gap:12px}
.ph{padding:0;border:0;border-radius:var(--r);overflow:hidden;cursor:zoom-in;background:var(--tint);position:relative}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ph:hover img{transform:scale(1.04)}
.ph-big{grid-column:span 2;grid-row:span 2}
.ph-tall{grid-row:span 2}
.lightbox{position:fixed;inset:0;z-index:95;background:rgba(6,18,31,.92);display:flex;align-items:center;justify-content:center;gap:12px;padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;max-width:100%}
.lightbox img{max-width:min(1100px,100%);max-height:80vh;border-radius:12px;object-fit:contain}
.lightbox figcaption{color:rgba(255,255,255,.8);font-size:.9rem;text-align:center}
.lb-nav,.lb-close{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;width:48px;height:48px;font-size:1.8rem;line-height:1;cursor:pointer;flex:0 0 48px}
.lb-nav:hover,.lb-close:hover{background:var(--or);color:var(--marine)}
.lb-close{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px))}
@media (max-width:760px){
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:140px;gap:8px}
  .lb-nav{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom,0px))}
  .lb-prev{left:max(16px,env(safe-area-inset-left,0px))}.lb-next{right:max(16px,env(safe-area-inset-right,0px))}
}
[hidden]{display:none!important}
.ph-port img{object-position:center 30%}

/* ---------- Page PRIME v2 ---------- */
.hero-note{font:600 1rem/1.4 var(--f-display);color:var(--or)!important;margin-top:4px}
.vision{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.vision li{display:flex;gap:12px;color:var(--on-band-muted)}
.vision li::before{content:"";flex:0 0 18px;height:18px;margin-top:4px;border-radius:50%;background:rgba(255,255,255,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.6 2.5L13 6.5' fill='none' stroke='%23f5b32d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.founders{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.founders > *{min-width:0}
.quote{margin:0;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--or);border-radius:var(--r);padding:22px 24px;font-size:1.05rem;color:var(--ink);line-height:1.65}
.quote cite{display:block;margin-top:12px;font:700 .9rem/1 var(--f-display);font-style:normal;color:var(--lagon)}
.proof{display:grid;gap:16px}
.proof div{background:var(--band);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:6px}
.proof b{font:800 2.4rem/1 var(--f-display);color:var(--or);font-variant-numeric:tabular-nums}
.proof span{color:var(--on-band-muted)}
.parcours{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.parcours li{display:flex;align-items:center;gap:12px;color:#fff;font-weight:600;background:rgba(255,255,255,.07);border-radius:12px;padding:10px 12px}
.parcours b{flex:0 0 30px;height:30px;border-radius:50%;background:var(--or);color:var(--marine);display:grid;place-items:center;font:800 .95rem/1 var(--f-display)}
.inside article.big{justify-content:center}
.cap.steps{grid-template-columns:repeat(4,1fr)}
.cap.steps b{font-size:2rem}
.offers.duo{grid-template-columns:1fr 1fr;max-width:900px;margin-inline:auto}
.guarantee.light{background:var(--tint);color:var(--heading)}
.guarantee.light b{color:var(--lagon)}
@media (max-width:980px){.founders{grid-template-columns:1fr}.cap.steps{grid-template-columns:1fr 1fr}.offers.duo{grid-template-columns:1fr}}
@media (max-width:560px){.cap.steps{grid-template-columns:1fr}}
.vision li{display:block;position:relative;padding-left:30px}
.vision li::before{position:absolute;left:0;top:0}
#prime-inclus .inside article.big{grid-row:auto}

/* ---------- Mentions légales ---------- */
.legal{max-width:760px;display:flex;flex-direction:column;gap:14px}
.legal h2{font-size:1.3rem;margin-top:18px}
.legal p{color:var(--muted)}
.foot-bottom a{text-decoration:underline}
.more-link{align-self:center;font-weight:700;font-size:.9rem;color:#fff;text-decoration:none;opacity:.85}.more-link:hover{color:var(--or);opacity:1}
.faq details p a{color:var(--lagon);font-weight:700}

/* ---------- Portraits de l'équipe ---------- */
.person{padding:0;overflow:hidden;gap:0}
.person .portrait{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;display:block;max-height:480px}
.person-top,.person > p,.person > .chips{margin:0 28px}
.person-top{margin-top:22px}
.person > p{margin-top:12px}
.person > .chips{margin-top:14px;margin-bottom:26px}
.team{max-width:880px;margin-inline:auto}
#gallery{grid-auto-flow:row}
