:root{
  --bg:#EDE9E1;
  --panel:#FAF8F4;
  --panel-dark:#1B1B18;
  --panel-dark-2:#242420;
  --ink:#1B1B18;
  --ink-soft:#3A3A35;
  --steel:#6E7068;
  --steel-light:#B9B7AE;
  --flame:#B8341F;
  --flame-deep:#8C2716;
  --flame-soft:#E9A08D;
  --line: rgba(27,27,24,0.14);
  --line-dark: rgba(250,248,244,0.16);
  --radius:3px;
  --max:1180px;

  /* Libellés traduits injectés par js/i18n.js */
  --lbl-classic: "Standard";
  --lbl-bot: "pizzaBot";
}
/* Fallback CSS si le JS de traduction ne charge pas (fichier ouvert en file://) */
html[lang="fr"]{ --lbl-classic: "Classique"; }

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter', system-ui, sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,.display{
  font-family:'Barlow Condensed', system-ui, sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.01em;
  line-height:1.02;
  margin:0;
  color:var(--ink);
}

.mono{font-family:'IBM Plex Mono', ui-monospace, monospace;}

a{color:inherit;}
img,svg{display:block;max-width:100%;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}

.eyebrow{
  font-family:'Inter', sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.04em;
  color:var(--flame);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.eyebrow::before{
  content:"";
  width:22px;height:1px;
  background:var(--flame);
  display:inline-block;
}
.eyebrow.on-dark{color:var(--flame-soft);}
.eyebrow.on-dark::before{background:var(--flame-soft);}

/* ---------- header ---------- */
header{
  position:sticky; top:0; z-index:40;
  background:rgba(237,233,225,0.92);
  backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px;
  max-width:var(--max); margin:0 auto;
  gap:16px;
}
.logo{
  display:flex; align-items:center; gap:10px;
  font-family:'Barlow Condensed', sans-serif;
  font-weight:800; text-transform:uppercase;
  font-size:20px; letter-spacing:0.03em;
  text-decoration:none;
}
.logo-mark{
  width:26px;height:26px;border-radius:50%;
  border:2.5px solid var(--flame);
  position:relative; flex:none;
}
.logo-mark::before,.logo-mark::after{
  content:"";
  position:absolute; width:3px;height:3px;border-radius:50%;
  background:var(--flame);
}
.logo-mark::before{ top:3px; left:9.5px; }
.logo-mark::after{ bottom:5px; left:4px; box-shadow:9px 0 0 var(--flame); }

nav.links{
  display:flex; gap:26px; align-items:center;
  font-size:14px; font-weight:500;
}
nav.links a{
  text-decoration:none; color:var(--ink-soft);
  padding:6px 0; border-bottom:1px solid transparent;
  transition:color .15s ease, border-color .15s ease;
}
nav.links a:hover, nav.links a:focus-visible{
  color:var(--ink); border-color:var(--flame);
}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Inter', sans-serif;
  font-size:14px; font-weight:600;
  text-decoration:none;
  padding:12px 22px;
  border-radius:var(--radius);
  border:1px solid var(--ink);
  color:var(--ink);
  background:transparent;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease, transform .1s ease;
  white-space:nowrap;
}
.btn:hover, .btn:focus-visible{background:var(--ink); color:var(--panel);}
.btn.primary{background:var(--flame); border-color:var(--flame); color:#FAF8F4;}
.btn.primary:hover, .btn.primary:focus-visible{background:var(--flame-deep); border-color:var(--flame-deep);}
.btn:focus-visible, a:focus-visible, button:focus-visible{outline:2px solid var(--flame); outline-offset:2px;}

.nav-cta{display:flex; align-items:center; gap:10px;}

/* ---------- language switcher ---------- */
.lang-switch{
  display:inline-flex; align-items:center; gap:2px;
  padding:2px; border:1px solid var(--line);
  border-radius:var(--radius); background:var(--panel);
}
.lang-switch button{
  appearance:none; background:transparent; border:none;
  padding:7px 10px;
  font-family:'IBM Plex Mono', monospace;
  font-size:11.5px; font-weight:600; letter-spacing:.08em;
  color:var(--steel); cursor:pointer;
  border-radius:2px; line-height:1;
  transition:background .15s ease, color .15s ease;
}
.lang-switch button:hover{color:var(--ink);}
.lang-switch button.active{background:var(--ink); color:var(--panel);}
.lang-switch button:focus-visible{outline:2px solid var(--flame); outline-offset:1px;}

.nav-toggle{
  display:none;
  width:42px;height:42px;align-items:center;justify-content:center;
  background:transparent;border:1px solid var(--ink);border-radius:var(--radius);
  color:var(--ink); cursor:pointer;
}
.nav-toggle svg{width:18px;height:18px;}

.mobile-menu{display:none;background:var(--panel);border-top:1px solid var(--line);}
.mobile-menu.open{display:flex;flex-direction:column;}
.mobile-menu a{
  padding:15px 28px;text-decoration:none;font-size:15px;font-weight:500;
  color:var(--ink-soft);border-bottom:1px solid var(--line);
}
.mobile-menu a:last-child{border-bottom:none;}

/* ---------- hero ---------- */
.hero{padding:88px 0 96px;border-bottom:1px solid var(--line);}
.hero-grid{
  display:grid; grid-template-columns:1.15fr 0.85fr;
  gap:72px; align-items:center;
}
.hero h1{font-size:clamp(38px, 5vw, 60px);margin-bottom:24px;max-width:15ch;}
.hero p.lead{
  font-family:'Inter'; text-transform:none;
  font-size:18px; color:var(--ink-soft);
  max-width:48ch; margin-bottom:32px;
}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px;}
.hero-note{font-size:13.5px; color:var(--steel);}

.facts{
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--line-dark); border-radius:6px; overflow:hidden;
  border:1px solid var(--panel-dark);
}
.fact{background:var(--panel-dark); padding:34px 28px; color:#FAF8F4;}
.fact .n{
  font-family:'Barlow Condensed',sans-serif; font-weight:800;
  font-size:44px; line-height:1; color:#FAF8F4; margin-bottom:10px;
}
.fact .l{font-size:14px; color:var(--steel-light); line-height:1.4;}

/* ---------- sections ---------- */
section{padding:88px 0; border-bottom:1px solid var(--line);}
section:last-of-type{ border-bottom:none; }
.section-head{max-width:680px; margin-bottom:52px;}
.section-head h2{font-size:clamp(28px,3.4vw,40px); margin-bottom:14px;}
.section-head p{font-size:16.5px; color:var(--ink-soft); text-transform:none; font-family:'Inter';}

.on-dark-band{background:var(--panel-dark);color:#FAF8F4;border-bottom:1px solid var(--line);}
.on-dark-band h2{color:#FAF8F4;}
.on-dark-band .section-head p{color:var(--steel-light);}

.cards{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.card{
  background:var(--panel); padding:32px 28px;
  display:flex; flex-direction:column; gap:14px;
}
.card h3{font-size:21px; text-transform:none; font-weight:700; letter-spacing:0;}
.card p{font-family:'Inter'; text-transform:none; font-size:14.5px; color:var(--ink-soft); margin:0;}
.icon{ width:28px; height:28px; color:var(--flame); margin-bottom:6px; }

.split{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.split.wide-left{grid-template-columns:1.08fr 0.92fr;}
.split.wide-right{grid-template-columns:0.85fr 1.15fr;}

.plate{background:var(--panel-dark); border-radius:6px; padding:18px;}
.plate svg{width:100%; height:auto;}
.plate-cap{font-size:13px; color:var(--steel-light); padding:14px 6px 2px;}

.checklist{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px;}
.checklist li{
  display:grid; grid-template-columns:22px 1fr; gap:14px;
  font-family:'Inter'; text-transform:none; font-size:15px; color:var(--ink-soft);
}
.checklist svg{width:20px; height:20px; color:var(--flame); margin-top:3px;}
.checklist strong{display:block; color:var(--ink); font-weight:600; margin-bottom:2px;}
.checklist.on-dark li{color:var(--steel-light);}
.checklist.on-dark strong{color:#FAF8F4;}

/* ---------- comparison ---------- */
.compare{border:1px solid var(--line); margin-top:8px;}
.compare-head{
  display:grid; grid-template-columns:210px 1fr 1fr;
  background:var(--panel-dark);
}
.compare-head > div{
  padding:16px 22px;
  font-family:'IBM Plex Mono', monospace;
  font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
}
.compare-head .head-classic{color:var(--steel-light);}
.compare-head .head-bot{color:var(--flame-soft);}
.compare-row{
  display:grid; grid-template-columns:210px 1fr 1fr;
  border-top:1px solid var(--line);
}
.compare-row > div{
  padding:20px 22px;
  background:var(--panel);
  font-family:'Inter'; font-size:14.5px; text-transform:none; line-height:1.5;
}
.compare-row .crit{
  font-family:'IBM Plex Mono', monospace;
  font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--steel);
}
.compare-row .classic{color:var(--steel);}
.compare-row .bot{color:var(--ink); font-weight:500;}
.compare-row .bot::before{
  content:""; display:inline-block;
  width:6px; height:6px; border-radius:50%;
  background:var(--flame); margin-right:9px;
  vertical-align:middle; position:relative; top:-1px;
}

/* ---------- menu ---------- */
.menu-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.pizza{background:var(--panel); padding:28px 26px; display:flex; flex-direction:column;}
.pizza .tag{
  font-family:'IBM Plex Mono', monospace; font-size:11px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--flame);
  margin-bottom:16px; display:block; min-height:14px;
}
.disc{
  width:54px; height:54px; border-radius:50%; margin-bottom:20px; flex:none;
  background:radial-gradient(circle at 35% 30%, #E8CE8E 0%, #D9A94E 48%, #B8341F 100%);
}
.pizza h3{font-size:20px; text-transform:none; font-weight:700; letter-spacing:0; margin-bottom:8px;}
.pizza p{font-family:'Inter'; text-transform:none; font-size:14px; color:var(--ink-soft); margin:0 0 20px;}
.pizza .price{font-family:'IBM Plex Mono', monospace; font-weight:600; font-size:15px; color:var(--flame); margin-top:auto;}

/* ---------- app ---------- */
.phone{background:var(--panel-dark); border-radius:18px; padding:18px; width:100%; max-width:272px; margin:0 auto;}
.phone-status{
  display:flex; justify-content:space-between;
  font-family:'IBM Plex Mono', monospace; font-size:10px;
  color:var(--steel-light); letter-spacing:.08em;
}
.phone-title{
  font-family:'Barlow Condensed', sans-serif; font-weight:700;
  text-transform:uppercase; font-size:18px; color:#FAF8F4;
  margin:14px 0 12px; letter-spacing:.02em;
}
.phone-card{background:rgba(250,248,244,0.05); border:1px solid var(--line-dark); border-radius:4px; padding:14px; margin-bottom:10px;}
.phone-row{
  display:flex; justify-content:space-between; gap:10px;
  font-family:'IBM Plex Mono', monospace; font-size:11.5px;
  color:var(--steel-light); margin-bottom:8px;
}
.phone-row:last-child{margin-bottom:0;}
.phone-bar{height:4px; border-radius:2px; background:rgba(250,248,244,.12); overflow:hidden; margin-top:12px;}
.phone-bar span{display:block; height:100%; width:64%; background:var(--flame);}
.phone-note{font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:var(--flame-soft); margin-top:8px;}

/* ---------- vision ---------- */
.vision{display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px; align-items:start;}
.vision-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:32px 36px;}
.vision-list li{
  border-top:2px solid var(--flame); padding-top:16px;
  font-family:'Inter'; text-transform:none; font-size:15.5px; color:var(--ink-soft);
}
.vision-list strong{ display:block; color:var(--ink); font-weight:600; margin-bottom:3px; }
.tag{font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--flame);}

/* ---------- founder ---------- */
.founder{display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px; align-items:start;}
.founder-stats{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line); margin-top:32px;
}
.stat{ background:var(--panel); padding:18px 16px; }
.stat .n{ font-family:'Barlow Condensed'; font-weight:800; font-size:30px; line-height:1.1; margin-bottom:4px; color:var(--flame); text-transform:none;}
.stat .l{ font-size:13.5px; color:var(--steel); }
.founder p{ font-family:'Inter'; text-transform:none; font-size:16px; color:var(--ink-soft); }
.founder p + p{ margin-top:16px;}

/* ---------- join ---------- */
.roles{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.role{ background:var(--panel); padding:28px 24px; }
.role h3{ font-size:19px; text-transform:none; font-weight:700; margin-bottom:10px; letter-spacing:0;}
.role ul{ margin:0; padding-left:18px; font-family:'Inter'; font-size:14px; color:var(--ink-soft); }
.role li{ margin-bottom:6px; }
.role .tag{ display:block; margin-bottom:10px;}

.search-mock{
  display:flex; gap:8px; background:var(--panel);
  border:1px solid var(--line); border-radius:var(--radius);
  padding:8px; max-width:440px; margin-top:26px;
}
.search-mock input{
  flex:1; min-width:0; border:none; background:transparent;
  font-family:'Inter'; font-size:15px; padding:10px 12px; color:var(--ink);
}
.search-mock input:focus{outline:none;}
.search-mock input::placeholder{color:var(--steel);}
.search-mock button{
  background:var(--flame); color:#FAF8F4; border:none;
  border-radius:var(--radius); padding:0 20px; cursor:pointer;
  font-family:'IBM Plex Mono', monospace; font-size:12.5px; font-weight:600;
  white-space:nowrap;
}
.search-mock button:hover{background:var(--flame-deep);}

.dark-card{background:var(--panel-dark); color:#FAF8F4; border-radius:6px; padding:38px 34px;}
.dark-card h3{font-size:24px; text-transform:none; font-weight:700; letter-spacing:0; margin-bottom:12px; color:#FAF8F4;}
.dark-card p{font-family:'Inter'; text-transform:none; font-size:15px; color:var(--steel-light); margin:0 0 24px;}

/* ---------- contact ---------- */
.contact{
  background:var(--panel-dark); color:#FAF8F4; border-radius:6px;
  padding:56px;
  display:grid; grid-template-columns:1.2fr 0.8fr; gap:40px; align-items:center;
}
.contact h2{ color:#FAF8F4; font-size:clamp(26px,3vw,36px); margin-bottom:14px;}
.contact p{ font-family:'Inter'; text-transform:none; color:var(--steel-light); font-size:15.5px; margin-bottom:0;}
.contact-box{background:rgba(250,248,244,0.05); border:1px solid var(--line-dark); padding:26px;}
.contact-box .tag{ display:block; margin-bottom:10px; color:var(--flame-soft);}
.contact-email{
  font-family:'IBM Plex Mono'; font-size:16px; word-break:break-all;
  color:#FAF8F4; text-decoration:none; border-bottom:1px solid var(--flame);
  display:inline-block; padding-bottom:2px; margin-bottom:20px;
}
.contact-box .btn{ width:100%; justify-content:center; border-color:var(--flame); }
.contact-box .btn.primary:hover{ background:var(--flame-deep); }

/* ---------- footer ---------- */
footer{padding:44px 0 46px;}
.foot-grid{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;
  font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--steel);
  padding-bottom:20px; border-bottom:1px solid var(--line);
}
.foot-links{
  display:flex; gap:22px; flex-wrap:wrap; padding-top:20px;
  font-family:'IBM Plex Mono', monospace; font-size:12px;
}
.foot-links a{text-decoration:none; color:var(--steel);}
.foot-links a:hover{color:var(--flame);}

.reveal{opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:none;}

/* ---------- responsive ---------- */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr;}
  .cards{grid-template-columns:repeat(2,1fr);}
  .split, .split.wide-left, .split.wide-right, .vision, .founder{grid-template-columns:1fr;}
  .roles{grid-template-columns:1fr;}
  .menu-grid{grid-template-columns:repeat(2,1fr);}
  .app-split .phone-wrap{order:-1;}
  .contact{grid-template-columns:1fr; padding:36px 26px;}
}
@media (max-width: 720px){
  nav.links{display:none;}
  .nav-toggle{display:inline-flex;}
  .nav-cta > .btn.primary{display:none;}
  .lang-switch button{padding:7px 8px; font-size:11px;}
  .hero{padding:52px 0 60px;}
  section{padding:60px 0;}
  .cards{grid-template-columns:1fr;}
  .menu-grid{grid-template-columns:1fr;}
  .founder-stats{grid-template-columns:1fr;}
  .vision-list{grid-template-columns:1fr;}
  .fact{padding:26px 20px;}
  .fact .n{font-size:34px;}
  .search-mock{flex-direction:column;}
  .search-mock button{padding:12px 20px;}

  .compare-head{display:none;}
  .compare-row{grid-template-columns:1fr; border-top:1px solid var(--line);}
  .compare-row .crit{
    background:var(--panel-dark); color:#FAF8F4;
    padding:11px 18px; font-size:10.5px; letter-spacing:.12em;
  }
  .compare-row .classic,
  .compare-row .bot{
    padding:13px 18px;
    display:grid; grid-template-columns:82px 1fr; gap:10px; align-items:start;
    font-size:13.5px; border-top:1px solid var(--line);
  }
  .compare-row .classic::before{
    content:var(--lbl-classic);
    font-family:'IBM Plex Mono', monospace; font-size:9.5px;
    letter-spacing:.08em; text-transform:uppercase;
    color:#FAF8F4; background:var(--steel);
    padding:3px 6px; border-radius:2px; text-align:center; display:block;
  }
  .compare-row .bot::before{
    content:var(--lbl-bot);
    font-family:'IBM Plex Mono', monospace; font-size:9.5px;
    letter-spacing:.08em; text-transform:uppercase;
    color:#FAF8F4; background:var(--flame);
    padding:3px 6px; border-radius:2px; text-align:center; display:block;
    width:auto; height:auto; margin:0; position:static; vertical-align:baseline;
  }
}

.wall-live{ animation:livePulse 1.6s ease-in-out infinite; }
@keyframes livePulse{ 0%,100%{opacity:1;} 50%{opacity:.25;} }