*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  background:var(--color-background,#f7f7f5);
  color:var(--color-text-primary,#111);
  font-family:'Geist',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}

.fo-nav{
  position:sticky;top:0;z-index:50;height:66px;
  padding:0 clamp(18px,4vw,48px);
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  background:rgba(247,247,245,.92);
  border-bottom:1px solid var(--color-border,rgba(0,0,0,.08));
  backdrop-filter:blur(18px);
}
.fo-logo img{height:29px;width:auto}
.fo-links{display:flex;align-items:center;gap:24px}
.fo-links a{
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-text-secondary,#6b6b6b);transition:color .25s;
}
.fo-links a:hover{color:var(--color-accent,#b11226)}

.fo-shell{overflow:hidden;background:var(--color-background,#f7f7f5)}

.fo-eyebrow{
  margin:0 0 14px;
  font-size:11px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--color-accent,#b11226);
}

/* ——— Hero plein cadre ——— */
.fo-hero{
  position:relative;
  min-height:calc(100svh - 66px);
  display:flex;
  align-items:center;
  overflow:hidden;
}
.fo-hero-media{
  position:absolute;inset:0;
  margin:0;
}
.fo-hero-media img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:62% 28%;
}
.fo-hero::after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(247,247,245,.94) 0%,rgba(247,247,245,.78) 28%,rgba(247,247,245,.38) 52%,rgba(247,247,245,.08) 72%,transparent 88%),
    linear-gradient(180deg,rgba(247,247,245,.18) 0%,transparent 22%,transparent 72%,rgba(247,247,245,.55) 100%);
  pointer-events:none;
}
.fo-hero-copy{
  position:relative;
  z-index:1;
  width:min(560px,calc(100% - 36px));
  margin-left:max(18px,calc((100% - 1180px) / 2));
  padding:72px 0;
}
.fo-hero h1{
  margin:0;
  line-height:0;
}
.fo-hero-wordmark{
  width:min(100%,420px);
  height:auto;
}
.fo-centerline{
  margin:22px 0 0;
  color:rgba(255,255,255,.88);
  font-size:clamp(22px,3.1vw,40px);
  font-weight:300;
  line-height:1.16;
  letter-spacing:-.02em;
}
.fo-drop-line{
  margin:18px 0 0;
  font-size:13px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--color-accent,#b11226);
}
.fo-hero-lead{
  max-width:460px;
  margin:28px 0 0;
  color:rgba(255,255,255,.68);
  font-size:16.5px;
  line-height:1.7;
  font-weight:300;
}
.fo-hero-count{
  margin:28px 0 0;
  font-size:13px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.fo-hero-cta{
  margin-top:32px;
  cursor:pointer;
}

.fo-inner{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
}

.fo-concept,
.fo-casanegra,
.fo-behind,
.fo-founders,
.fo-benefits,
.fo-ecosystem,
.fo-reserve,
.fo-kishtapp{
  padding:88px 0;
}
.fo-concept,
.fo-behind,
.fo-founders,
.fo-benefits,
.fo-reserve,
.fo-kishtapp{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
}

.fo-section-head{max-width:790px}
.fo-section-head.compact{max-width:560px}
.fo-section-head h2,
.fo-split-copy h2,
.fo-behind h2{
  margin:0;
  font-size:clamp(32px,4.6vw,58px);
  font-weight:300;
  line-height:1;
  letter-spacing:-.045em;
}
.fo-section-head p:not(.fo-eyebrow){
  margin:22px 0 0;
  color:rgba(255,255,255,.68);
  font-size:16px;
  line-height:1.75;
}

.fo-prose{max-width:720px}
.fo-prose p{
  margin:0 0 18px;
  color:rgba(255,255,255,.72);
  font-size:17px;
  line-height:1.8;
  font-weight:300;
}
.fo-prose-emphasis{
  color:#f5efe4 !important;
  font-size:20px !important;
  line-height:1.45 !important;
  letter-spacing:-.02em;
}

/* ——— Splits éditoriaux ——— */
.fo-split{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
}
.fo-split-reverse{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.fo-split-reverse .fo-split-media{order:2}
.fo-split-reverse .fo-split-copy{order:1}
.fo-split-media{
  margin:0;
  overflow:hidden;
  background:#111;
  min-height:min(78vh,760px);
}
.fo-split-media img{
  width:100%;height:100%;
  min-height:min(78vh,760px);
  object-fit:cover;
  object-position:center 18%;
}
.fo-founders .fo-split-media img{object-position:center 22%}
.fo-split-copy p:not(.fo-eyebrow){
  margin:18px 0 0;
  color:rgba(255,255,255,.7);
  font-size:16.5px;
  line-height:1.75;
  font-weight:300;
}
.fo-split-copy strong{color:#f5efe4;font-weight:500}
.fo-founders-lead{
  font-size:20px !important;
  color:#f5efe4 !important;
  line-height:1.45 !important;
}

/* ——— Casanegra / visuels plein cadre ——— */
.fo-casanegra,
.fo-ecosystem{
  width:100%;
  padding:0 0 88px;
}
.fo-casanegra .fo-section-head,
.fo-casanegra .fo-drop-lockup,
.fo-ecosystem .fo-section-head{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
  padding:88px 0 28px;
}
.fo-drop-lockup{max-width:720px}
.fo-drop-kicker{
  margin:0 0 10px;
  font-size:13px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--color-accent,#b11226);
}
.fo-drop-lockup h2{
  margin:0;
  font-size:clamp(48px,8vw,96px);
  font-weight:300;
  line-height:.9;
  letter-spacing:-.04em;
}
.fo-drop-color{
  margin:18px 0 28px;
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.fo-drop-lockup p:not(.fo-eyebrow):not(.fo-drop-kicker):not(.fo-drop-color){
  margin:0;
  color:rgba(255,255,255,.7);
  font-size:16.5px;
  line-height:1.75;
  font-weight:300;
}
.fo-full-visual{
  margin:0;
  width:100%;
  height:min(88vh,920px);
  overflow:hidden;
  background:#111;
}
.fo-full-visual img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 12%;
}
.fo-ecosystem .fo-full-visual img{object-position:center 18%}

.fo-series{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
  padding:42px 0 0;
  max-width:720px;
}
.fo-series-num{
  margin:0;
  font-size:clamp(28px,4vw,48px);
  font-weight:300;
  letter-spacing:-.04em;
  line-height:1;
}
.fo-range{
  margin:12px 0 22px;
  font-size:13px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--color-accent,#b11226);
}
.fo-series p:not(.fo-series-num):not(.fo-range){
  margin:0 0 16px;
  color:rgba(255,255,255,.68);
  font-size:16px;
  line-height:1.75;
}
.fo-drop-tease{
  width:min(1180px,calc(100% - 36px));
  max-width:720px;
  margin:28px auto 0;
  padding:22px 0 0;
  border-top:1px solid rgba(255,255,255,.1);
}
.fo-drop-tease p{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:15.5px;
  line-height:1.7;
  font-weight:300;
}
.fo-drop-tease ul{
  margin:18px 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.fo-drop-tease li{
  color:rgba(255,255,255,.78);
  font-size:14.5px;
  letter-spacing:.02em;
}
.fo-drop-tease li span{
  display:inline-block;
  min-width:5.5em;
  margin-right:10px;
  color:var(--color-accent,#b11226);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.fo-drop-tease-note{
  color:rgba(255,255,255,.42) !important;
  font-size:12.5px !important;
}

/* ——— Sceau f/P ——— */
.fo-seal{
  display:grid;
  place-items:center;
  padding:28px 0 8px;
}
.fo-seal img{
  width:min(118px,22vw);
  height:auto;
  opacity:.55;
}

.fo-behind h2{max-width:720px}
.fo-behind .fo-prose{margin-top:28px}

.fo-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:34px 0 0;
  padding:0;
  list-style:none;
}
.fo-steps li{
  border:1px solid rgba(255,255,255,.13);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  padding:20px;
  min-height:150px;
}
.fo-steps span{
  display:block;
  color:var(--color-accent,#b11226);
  font-size:14px;
  letter-spacing:.16em;
  margin-bottom:24px;
  text-transform:uppercase;
}
.fo-steps p{margin:0;color:rgba(255,255,255,.78);font-size:16px;line-height:1.55}

/* ——— Devenir Fondateur : liste éditoriale ——— */
.fo-benefit-list{
  margin:34px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:0;
  max-width:720px;
}
.fo-benefit-list li{
  position:relative;
  padding:16px 0 16px 22px;
  border-top:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.82);
  font-size:18px;
  font-weight:300;
  line-height:1.45;
  letter-spacing:-.01em;
}
.fo-benefit-list li:last-child{border-bottom:1px solid rgba(255,255,255,.1)}
.fo-benefit-list li::before{
  content:"";
  position:absolute;
  left:0;top:1.15em;
  width:8px;height:1px;
  background:var(--color-accent,#b11226);
}
.fo-ecosystem-line{
  margin:28px 0 0;
  max-width:720px;
  color:rgba(255,255,255,.42);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.7;
}

/* ——— Réserve / acompte ——— */
.fo-reserve-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:18px;
  margin-top:34px;
}
.fo-reserve-card{
  position:relative;
  border:1px solid rgba(255,255,255,.13);
  border-radius:8px;
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  padding:26px;
  overflow:hidden;
  box-shadow:0 22px 70px rgba(0,0,0,.24);
  display:flex;
  flex-direction:column;
}
.fo-reserve-card::before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 82% 0,rgba(177,18,38,.16),transparent 34%);
  pointer-events:none;
}
.fo-deposit-card{
  background:linear-gradient(145deg,rgba(177,18,38,.15),rgba(255,255,255,.03) 46%,rgba(255,255,255,.02));
}
.fo-price{position:relative;margin:4px 0 18px}
.fo-price strong{
  display:block;
  font-size:clamp(42px,6vw,72px);
  line-height:.95;
  font-weight:300;
  letter-spacing:-.05em;
}
.fo-price span{
  display:block;
  margin-top:8px;
  font-size:13px;
  color:rgba(255,255,255,.66);
}
.fo-deposit-points{
  position:relative;
  margin:0 0 24px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.fo-deposit-points li{
  color:rgba(255,255,255,.7);
  font-size:14.5px;
  line-height:1.55;
  padding-left:16px;
  position:relative;
}
.fo-deposit-points li::before{
  content:"";
  position:absolute;
  left:0;top:.7em;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--color-accent,#b11226);
}

.fo-btn{
  position:relative;
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  min-height:48px;
  border-radius:4px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.2);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
  transition:transform .25s,background .25s,border-color .25s,color .25s;
}
.fo-btn:hover{transform:translateY(-1px)}
.fo-btn-primary{background:#fff;border-color:var(--color-text-primary,#111);color:#09090a}
.fo-btn-primary:hover{background:#f5efe4;border-color:#f5efe4}

.fo-btn-primary[data-founder-pay]{
  flex-direction:column;
  gap:6px;
  min-height:56px;
  padding:12px 18px;
  line-height:1.25;
  align-self:stretch;
}
.fo-pay-label{display:block}
.fo-pay-sub{
  display:block;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.78;
  font-weight:500;
}
.fo-btn-primary.is-waiting-choice,
.fo-btn-primary.is-need-login{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.22);
  color:var(--color-text-primary,#111);
}
.fo-btn-primary.is-waiting-choice:hover,
.fo-btn-primary.is-need-login:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(232,200,114,.55);
  color:var(--color-accent-hover,#8f0e1f);
}
.fo-pay-block{display:grid;gap:14px;margin-top:0;position:relative;z-index:1}
.fo-picker-label{
  margin:0;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--color-text-secondary,#6b6b6b);
}
.fo-picker-help{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:var(--color-text-secondary,#6b6b6b);
}
.fo-fap-options{display:grid;gap:10px}
.fo-fap-option{
  appearance:none;cursor:pointer;
  display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;
  gap:4px 12px;align-items:center;text-align:left;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  background:rgba(255,255,255,.04);
  color:var(--color-text-primary,#111);font:inherit;
  transition:border-color .25s,background .25s,box-shadow .25s;
}
.fo-fap-option:hover{border-color:rgba(232,200,114,.45);background:rgba(177,18,38,.08)}
.fo-fap-option.is-selected{
  border-color:var(--color-accent,#b11226);
  background:rgba(177,18,38,.14);
  box-shadow:0 0 24px rgba(177,18,38,.18);
}
.fo-fap-option-choice{grid-column:1;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.fo-fap-option-id{grid-column:1;font-size:16px;font-weight:500;letter-spacing:.04em;color:var(--color-accent-hover,#8f0e1f)}
.fo-fap-option-num{
  grid-column:2;grid-row:1/span 2;
  font-family:ui-monospace,Menlo,monospace;
  font-size:28px;font-weight:700;color:var(--color-accent,#b11226);letter-spacing:.06em;
}
.fo-fap-empty{
  display:grid;gap:12px;justify-items:start;
  padding:16px;
  border:1px dashed rgba(255,255,255,.2);
  border-radius:8px;
  background:rgba(0,0,0,.2);
}
.fo-empty-title{margin:0;font-size:14px;font-weight:500;color:#fff}
.fo-empty-copy{margin:0;font-size:13px;color:rgba(255,255,255,.68);line-height:1.5}
.fo-empty-link{
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.7);
  border-bottom:1px solid rgba(255,255,255,.25);
  padding-bottom:2px;
}
.fo-empty-link:hover{color:var(--color-accent-hover,#8f0e1f);border-color:rgba(232,200,114,.55)}
.fo-pay-hint{margin:8px 0 0;font-size:12px;line-height:1.5;color:rgba(255,255,255,.55);position:relative;z-index:1}
.fo-btn-primary.is-need-select{opacity:.72;cursor:not-allowed}
.fo-fap-empty .fp-destiny{align-items:flex-start}

.fo-closing{
  margin:48px 0 0;
  display:grid;
  gap:8px;
  text-align:center;
}
.fo-closing strong{
  display:block;
  font-size:clamp(20px,3vw,32px);
  font-weight:300;
  letter-spacing:-.03em;
  color:#f5efe4;
}

.fo-notes{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
  padding:0 0 70px;
  display:grid;
  gap:9px;
  color:rgba(255,255,255,.48);
  font-size:12.5px;
  line-height:1.55;
}
.fo-notes p{margin:0;border-top:1px solid rgba(255,255,255,.09);padding-top:11px}

@media(max-width:900px){
  .fo-links{display:none}
  .fo-hero{min-height:auto}
  .fo-hero-media{
    position:relative;
    height:min(68vh,620px);
  }
  .fo-hero::after{
    background:
      linear-gradient(180deg,transparent 28%,rgba(247,247,245,.55) 62%,var(--color-background,#f7f7f5) 100%);
  }
  .fo-hero-copy{
    margin-top:-86px;
    padding:0 0 36px;
    max-width:none;
    width:min(1180px,calc(100% - 36px));
  }
  .fo-hero-media img{object-position:center 22%}
  .fo-split,
  .fo-split-reverse,
  .fo-reserve-grid,
  .fo-steps{grid-template-columns:1fr}
  .fo-split-reverse .fo-split-media,
  .fo-split-reverse .fo-split-copy{order:unset}
  .fo-split-media,
  .fo-split-media img{min-height:min(62vh,560px)}
  .fo-full-visual{height:min(72vh,640px)}
  .fo-concept,
  .fo-behind,
  .fo-founders,
  .fo-benefits,
  .fo-reserve{padding:56px 0}
  .fo-casanegra .fo-section-head,
  .fo-casanegra .fo-drop-lockup,
  .fo-ecosystem .fo-section-head{padding:56px 0 22px}
  .fo-casanegra,
  .fo-ecosystem{padding-bottom:56px}
}
@media(max-width:560px){
  .fo-nav{height:62px}
  .fo-logo img{height:25px}
  .fo-hero-media{height:min(58vh,480px)}
  .fo-hero-wordmark{width:min(100%,280px)}
  .fo-centerline{font-size:clamp(20px,6.4vw,28px)}
  .fo-reserve-card{padding:20px}
  .fo-btn{align-self:stretch}
  .fo-notes{padding-bottom:46px}
  .fo-steps li{min-height:0}
  .fo-benefit-list li{font-size:16.5px}
}
