/* Self-host fonts (RGPD : zéro dépendance Google Fonts CDN — aucun flux IP→Google US).
   Sources = TTF bundlés dans l'app (mobile/assets/fonts/), convertis en WOFF2.
   Régénération : ml-tools/convert_fonts_woff2.py. */
@font-face{font-family:"Geist";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/geist-400.woff2") format("woff2");}
@font-face{font-family:"Geist";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/geist-500.woff2") format("woff2");}
@font-face{font-family:"Geist";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/geist-600.woff2") format("woff2");}
@font-face{font-family:"Geist";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/geist-700.woff2") format("woff2");}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/geist-mono-400.woff2") format("woff2");}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/geist-mono-500.woff2") format("woff2");}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/geist-mono-600.woff2") format("woff2");}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/instrument-serif-italic.woff2") format("woff2");}

/* Kotira — site marketing. Tokens repris du design system officiel
   (Kotira Design System/colors_and_type.css). Signal cyan = IA/voix UNIQUEMENT. */
:root {
  /* Encre */
  --encre-950:#07101F; --encre-900:#0E1A2E; --encre-800:#182640; --encre-700:#243553; --encre-600:#354868;
  /* Stone (neutres chauds) */
  --stone-50:#FAF8F3; --stone-100:#F3EFE6; --stone-200:#E8E2D4; --stone-300:#D6CEBC;
  --stone-500:#8B8270; --stone-600:#5F5849; --stone-700:#3F3A30;
  /* Signal (IA / voix) */
  --signal-50:#E6F9FB; --signal-100:#C5F0F5; --signal-400:#1FB8CB; --signal-600:#0A7E91; --signal-700:#0A6371;
  /* Terre (artisan) */
  --terre-100:#F5E2D1; --terre-300:#E0AE83; --terre-500:#C97A1F; --terre-700:#8C4F12;
  /* Sémantique */
  --ok-bg:#DDEFE2; --ok-fg:#1B6B43; --danger-fg:#962818;
  --white:#FFFFFF;
  /* Radius */
  --r-sm:8px; --r-md:10px; --r-lg:14px; --r-xl:20px; --r-pill:999px;
  /* Ombres chaudes */
  --shadow-1:0 1px 0 rgba(14,26,46,.04),0 1px 2px rgba(14,26,46,.06);
  --shadow-2:0 1px 0 rgba(14,26,46,.04),0 4px 12px rgba(14,26,46,.08);
  --shadow-3:0 12px 32px -8px rgba(14,26,46,.18),0 2px 6px rgba(14,26,46,.08);
  --shadow-voice:0 0 0 6px rgba(31,184,203,.18),0 0 0 14px rgba(31,184,203,.08),0 8px 24px rgba(14,26,46,.18);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--stone-50); color:var(--encre-900);
  font-family:"Geist","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  line-height:1.55; -webkit-font-smoothing:antialiased;
}
.mono{font-family:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-feature-settings:"tnum" 1;}
.serif{font-family:"Instrument Serif",Georgia,serif;font-style:italic;}

.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
a{color:inherit;}
h1,h2,h3{letter-spacing:-0.02em;line-height:1.12;font-weight:600;margin:0;}
h2{font-size:clamp(1.6rem,3.5vw,2rem);}
h3{font-size:1.125rem;}
p{margin:0 0 1rem;}
.muted{color:var(--stone-600);}
.center{text-align:center;}

/* ── Header ── */
header.site{position:sticky;top:0;z-index:20;background:rgba(250,248,243,.86);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--stone-200);}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;}
.brand{font-weight:700;font-size:1.4rem;letter-spacing:-0.03em;text-decoration:none;}
.brand .dot{color:var(--signal-400);}
nav.main{display:flex;gap:8px;align-items:center;}
nav.main a:not(.btn){text-decoration:none;color:var(--encre-800);padding:8px 12px;border-radius:var(--r-md);font-size:.95rem;font-weight:500;}
nav.main a:not(.btn):hover{background:var(--stone-100);}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;border:none;cursor:pointer;
  font-family:inherit;font-weight:600;font-size:1rem;padding:12px 22px;border-radius:var(--r-pill);
  text-decoration:none;transition:transform .06s ease,background .15s ease;min-height:44px;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--encre-900);color:var(--stone-50);}
.btn-primary:hover{background:var(--encre-800);}
.btn-ghost{background:transparent;color:var(--encre-900);box-shadow:inset 0 0 0 1px var(--stone-300);}
.btn-ghost:hover{background:var(--stone-100);}
.btn-block{width:100%;}
.btn[disabled]{opacity:.5;cursor:not-allowed;}

/* ── Hero ── */
.hero{padding:72px 0 56px;}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.hero h1{font-size:clamp(2.2rem,5.2vw,3.4rem);}
.hero .lead{font-size:1.2rem;color:var(--stone-700);max-width:34ch;margin-top:18px;}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.12em;color:var(--signal-700);background:var(--signal-50);padding:6px 12px;border-radius:var(--r-pill);}
.eyebrow .pulse{width:8px;height:8px;border-radius:50%;background:var(--signal-400);box-shadow:0 0 0 4px rgba(31,184,203,.2);}

/* Phone mockup (CSS, sans asset) */
.phone{justify-self:center;width:280px;aspect-ratio:9/19;background:var(--encre-950);border-radius:38px;padding:12px;
  box-shadow:var(--shadow-3);position:relative;}
.phone .screen{background:var(--stone-50);border-radius:28px;height:100%;overflow:hidden;display:flex;
  flex-direction:column;padding:18px 14px;}
.phone .pscreen-h{font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--stone-500);text-transform:uppercase;}
.pcard{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:12px;margin-top:10px;}
.pcard .row{display:flex;justify-content:space-between;font-size:.78rem;}
.pcard .amount{font-family:"Geist Mono",monospace;font-weight:600;}
.pill-ok{display:inline-block;background:var(--ok-bg);color:var(--ok-fg);font-size:.62rem;font-weight:700;
  padding:3px 9px;border-radius:var(--r-pill);}
.mic{margin:auto auto 4px;width:72px;height:72px;border-radius:50%;background:var(--signal-400);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-voice);color:#fff;}
.mic svg{width:30px;height:30px;}

/* Flux « payé plus vite » (du devis à l'encaissement) */
.flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px;margin-top:26px;}
.flow > span:not(.sep){background:var(--white);box-shadow:var(--shadow-1);border-radius:var(--r-pill);padding:8px 16px;font-weight:600;font-size:.92rem;}
.flow .sep{color:var(--terre-500);font-weight:700;}

/* ── Sections ── */
section.block{padding:56px 0;}
section.alt{background:var(--stone-100);}
.section-title{text-align:center;max-width:40ch;margin:0 auto 40px;}

/* Value cards (no border, tonal) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.card{background:var(--white);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-2);}
.card .ico{width:44px;height:44px;border-radius:var(--r-md);background:var(--signal-50);color:var(--signal-600);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.card .ico svg{width:24px;height:24px;}
.card h3{margin-bottom:8px;}
.card p{margin:0;color:var(--stone-600);font-size:.96rem;}

/* Screens strip */
.screens{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.screens figure{margin:0;text-align:center;}
.screens .frame{background:var(--encre-950);border-radius:26px;padding:8px;box-shadow:var(--shadow-2);}
.screens .frame img{width:100%;display:block;border-radius:20px;background:var(--stone-200);min-height:360px;object-fit:cover;}
.screens figcaption{margin-top:12px;font-size:.9rem;color:var(--stone-600);}

/* Feature grid (accueil, compact). Cyan réservé aux features voix/IA ; ink/stone sinon. */
.cards.feat{grid-template-columns:repeat(3,1fr);}
.cards.feat .card{padding:20px;}
.cards.feat .card h3{font-size:1.02rem;}
.cards.feat .ico{width:38px;height:38px;margin-bottom:10px;}
.ico.neutral{background:var(--stone-100);color:var(--encre-700);}
.feat-cta{text-align:center;margin-top:34px;}

/* Catalogue complet (/fonctionnalites) */
.feat-theme{margin-bottom:40px;}
.feat-theme > h3{font-size:1.2rem;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.feat-theme > h3 .tdot{width:10px;height:10px;border-radius:3px;background:var(--encre-900);flex:0 0 auto;}
.feat-theme.voice > h3 .tdot{background:var(--signal-400);}
.featgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.feat-item{background:var(--white);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-1);}
.feat-item h4{margin:0 0 4px;font-size:1rem;font-weight:600;}
.feat-item p{margin:0;font-size:.92rem;color:var(--stone-600);}

/* Options premium (Pro/Expert) : cadre clay + badge étoile (terre = artisan, jamais cyan). */
.feat-item.premium,.card.premium{box-shadow:var(--shadow-1),inset 0 0 0 1.5px var(--terre-300);}
.premium-tag{display:inline-flex;align-items:center;gap:4px;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--terre-700);background:var(--terre-100);padding:3px 8px;border-radius:var(--r-pill);margin-left:8px;vertical-align:middle;white-space:nowrap;}
.premium-tag .s{color:var(--terre-500);}

/* Section « Bientôt » (à venir, pas encore dispo). */
.feat-theme.soon .feat-item{background:transparent;box-shadow:none;border:1px dashed var(--stone-300);}
.feat-theme.soon h4{color:var(--stone-700);}
.soon-badge{display:inline-flex;align-items:center;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--stone-600);background:var(--stone-200);padding:3px 8px;border-radius:var(--r-pill);margin-left:8px;vertical-align:middle;}

/* ── Pricing ── */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start;}
.plan{background:var(--white);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-2);position:relative;}
.plan.featured{box-shadow:var(--shadow-3);outline:2px solid var(--encre-900);}
.plan .tag{position:absolute;top:-12px;left:28px;background:var(--encre-900);color:var(--stone-50);
  font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:var(--r-pill);}
.plan h3{font-size:1.25rem;}
.plan .price{font-family:"Geist Mono",monospace;font-size:2.2rem;font-weight:600;margin:10px 0 2px;}
.plan .price small{font-size:.9rem;font-weight:500;color:var(--stone-500);}
.plan ul{list-style:none;padding:0;margin:18px 0 24px;}
.plan li{display:flex;gap:10px;padding:7px 0;font-size:.95rem;color:var(--encre-800);}
.plan li svg{width:18px;height:18px;color:var(--ok-fg);flex:0 0 auto;margin-top:2px;}

/* ── Forms ── */
.formcard{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:32px;max-width:520px;margin:0 auto;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--encre-800);}
.field input,.field textarea{width:100%;font-family:inherit;font-size:1rem;padding:12px 14px;border-radius:var(--r-md);
  border:1px solid var(--stone-300);background:var(--stone-50);color:var(--encre-900);}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--signal-400);box-shadow:0 0 0 3px rgba(31,184,203,.18);}
.field .hint{font-size:.8rem;color:var(--stone-500);margin-top:5px;}
.field.promo input{text-transform:uppercase;letter-spacing:.08em;font-family:"Geist Mono",monospace;}
.note{font-size:.85rem;padding:10px 14px;border-radius:var(--r-md);margin-top:6px;}
.note.ok{background:var(--ok-bg);color:var(--ok-fg);}
.note.err{background:#F4DAD4;color:var(--danger-fg);}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--stone-700);margin-bottom:14px;}
.check input{margin-top:3px;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.formmsg{margin-top:14px;}

/* ── Footer ── */
footer.site{background:var(--encre-950);color:var(--stone-300);padding:40px 0;margin-top:40px;}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center;}
footer.site a{color:var(--stone-300);text-decoration:none;font-size:.9rem;}
footer.site a:hover{color:var(--signal-400);}
footer.site .legal{display:flex;gap:18px;flex-wrap:wrap;}
footer.site .copy{font-size:.82rem;color:var(--stone-500);width:100%;}

/* ── Pages légales (prose) ── */
.legal{max-width:760px;margin:0 auto;}
.legal h1{font-size:1.8rem;margin:0 0 8px;}
.legal h2{font-size:1.3rem;margin:32px 0 10px;}
.legal h3{font-size:1.08rem;margin:22px 0 8px;}
.legal p,.legal li{color:var(--encre-800);font-size:.96rem;line-height:1.65;}
.legal ul,.legal ol{padding-left:22px;}
.legal li{margin:5px 0;}
.legal a{color:var(--signal-700);}
.legal hr{border:none;border-top:1px solid var(--stone-200);margin:28px 0;}
.legal em{color:var(--stone-600);}
.legal strong{color:var(--encre-900);}
.legal table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.92rem;}
.legal th,.legal td{border:1px solid var(--stone-200);padding:8px 10px;text-align:left;vertical-align:top;}
.legal th{background:var(--stone-100);}
.legal code{background:var(--stone-100);padding:2px 5px;border-radius:4px;font-family:"Geist Mono",monospace;font-size:.88em;}

/* ── Responsive ── */
@media(max-width:860px){
  .hero .wrap{grid-template-columns:1fr;gap:32px;}
  .phone{order:-1;width:240px;}
  .cards,.screens,.pricing,.featgrid,.statrow{grid-template-columns:1fr;}
  nav.main a:not(.btn){display:none;}
}
