:root{
  --bg: rgb(44, 46, 48);
  --bg-soft: rgb(55, 58, 60);
  --panel: rgb(33, 33, 33);
  --panel-2: rgb(38, 38, 38);
  --text: #f8f3ee;
  --muted: #d7d0c8;
  --dark-text: #f8f3ee;
  --orange: #ff5a00;
  --orange-soft: rgba(255, 90, 0, .34);
  --line: rgba(248,243,238,.18);
  --radius: 30px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Open Sans", Arial, sans-serif;
  font-size:clamp(16px,1.15vw,19px);
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:14px clamp(18px,4vw,56px);
  background:rgba(44,46,48,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
}
.brand img{width:clamp(118px,14vw,170px)}
nav{display:flex;align-items:center;gap:clamp(12px,2.3vw,34px);font-family:Montserrat,Arial,sans-serif;font-size:14px;font-weight:700;color:var(--muted)}
nav a:hover{color:white}
.section{
  width:min(1240px,calc(100% - 40px));
  margin-inline:auto;
  padding:clamp(58px,8vw,118px) 0;
}
.hero{
  min-height:calc(100svh - 88px);
  display:grid;
  grid-template-columns: .9fr 1.1fr;
  align-items:center;
  gap:clamp(32px,6vw,92px);
}
.slide-number{
  font-family:Montserrat,Arial,sans-serif;
  font-weight:800;
  color:var(--orange);
  letter-spacing:.08em;
  margin:0 0 18px;
}
h1,h2,h3,p{margin-top:0}
h1{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(46px,7vw,104px);
  line-height:.98;
  letter-spacing:-.045em;
  margin-bottom:28px;
}
h2{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(31px,4.4vw,61px);
  line-height:1.05;
  letter-spacing:-.045em;
  margin-bottom:18px;
}
h3{font-family:Montserrat,Arial,sans-serif;font-size:clamp(22px,2.1vw,30px);line-height:1.12;margin-bottom:12px}
.subtitle{font-size:clamp(20px,2.2vw,31px);color:var(--muted);max-width:720px}
.hero-visual{margin:0;display:flex;justify-content:center;align-items:center}
.hero-visual img{width:min(680px,100%);filter:drop-shadow(0 34px 55px rgba(0,0,0,.38))}
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:clamp(32px,6vw,86px);
  border-top:1px solid var(--line);
}
.copy{max-width:720px}
.kicker{font-family:Montserrat,Arial,sans-serif;color:var(--orange);font-weight:800;letter-spacing:.03em}
.copy p:not(.kicker){font-size:clamp(20px,1.8vw,28px);color:var(--muted)}
.media-panel,.wide-image{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--panel);border:1px solid var(--orange-soft);box-shadow:0 28px 70px rgba(0,0,0,.28)}
.media-panel img{width:100%;aspect-ratio:16/10;object-fit:cover}
.fondation-visual img{object-position:center 58%}
.section-heading{text-align:center;max-width:980px;margin:0 auto clamp(34px,5vw,62px)}
.section-heading p:not(.slide-number){color:var(--muted);font-size:clamp(18px,1.6vw,23px)}
.section-heading.compact{margin-bottom:28px}
.models-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.5vw,32px)}
.model{
  background:var(--panel);
  color:var(--dark-text);
  border-radius:var(--radius);
  overflow:hidden;
  min-height:100%;
  box-shadow:0 24px 58px rgba(0,0,0,.22);
  border:1px solid var(--orange-soft);
}
.model img{width:100%;aspect-ratio:1.25/1;object-fit:contain;background:#f5f5f5;padding:10px}
.model h3,.model p,.model strong{padding-inline:26px}
.model h3{margin-top:24px;color:var(--text)}
.model p{color:var(--muted);margin-bottom:18px}
.model strong{display:block;padding-bottom:28px;color:var(--orange);font-family:Comfortaa,Montserrat,sans-serif;font-size:clamp(17px,1.4vw,21px)}
.visual-section{border-top:1px solid var(--line)}
.wide-image img{width:100%;max-height:680px;object-fit:contain;padding:clamp(18px,3vw,42px)}
.partner{border-top:1px solid var(--line)}
.argument-list{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:22px;color:var(--muted);font-size:clamp(18px,1.45vw,22px)}
.argument-list li{position:relative;padding-left:32px}
.argument-list li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;background:var(--orange);border-radius:50%}
.partner-card{background:var(--panel);color:var(--text);border:1px solid var(--orange-soft);border-radius:var(--radius);padding:clamp(30px,5vw,64px);font-family:Montserrat,Arial,sans-serif;font-size:clamp(28px,4vw,58px);line-height:1.06;font-weight:800;box-shadow:0 24px 58px rgba(0,0,0,.22)}
.specs{border-top:1px solid var(--line)}
.table-wrap{overflow:auto;border-radius:24px;border:1px solid var(--orange-soft);box-shadow:0 24px 58px rgba(0,0,0,.24)}
table{width:100%;min-width:890px;border-collapse:collapse;background:var(--panel);color:var(--text)}
th,td{padding:17px 19px;border-bottom:1px solid rgba(255,90,0,.18);text-align:left;vertical-align:top}
thead th{background:var(--panel-2);color:var(--text);font-family:Montserrat,Arial,sans-serif;font-size:20px}
thead th span{font-family:"Open Sans",Arial,sans-serif;font-size:14px;font-weight:400;color:var(--muted)}
tbody th{font-family:Montserrat,Arial,sans-serif;width:28%}
tbody small{display:block;font-family:"Open Sans",Arial,sans-serif;font-weight:400;color:var(--muted);margin-top:3px}
td{font-weight:700}
.contact{border-top:1px solid var(--line);padding-bottom:70px}
.contact-head{text-align:center;max-width:930px;margin:0 auto 38px}.contact-head p:not(.slide-number):not(.kicker){color:var(--muted);font-size:clamp(18px,1.5vw,23px)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.contact-grid article{background:var(--panel);color:var(--text);border:1px solid var(--orange-soft);border-radius:var(--radius);padding:30px;box-shadow:0 20px 50px rgba(0,0,0,.18);display:flex;flex-direction:column;align-items:flex-start;min-height:100%}
.contact-grid p{color:var(--muted);min-height:58px}.contact-grid a{display:inline-flex;margin-top:auto;align-self:center;justify-content:center;background:var(--orange);color:white;border-radius:999px;padding:12px 18px;font-family:Montserrat,Arial,sans-serif;font-weight:800;text-align:center}
.email,.baseline{text-align:center}.email{margin:38px 0 8px;font-family:Montserrat,Arial,sans-serif;font-size:clamp(20px,2vw,28px);font-weight:800;color:white}.baseline{color:var(--muted);font-family:Montserrat,Arial,sans-serif;font-weight:700}
@media (max-width: 900px){
  .site-header{position:relative;align-items:flex-start;flex-direction:column}.site-header nav{flex-wrap:wrap;gap:12px 20px}
  .hero,.split,.models-row,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-visual{order:-1}.partner-card{font-size:clamp(28px,8vw,46px)}
}
@media (max-width: 560px){
  .section{width:min(100% - 28px,1240px);padding:52px 0}.site-header{padding-inline:14px}nav{font-size:13px}.model h3,.model p,.model strong{padding-inline:20px}.contact-grid article{padding:24px}th,td{padding:14px 15px}
}

/* v9 — centrage des informations dans les colonnes du tableau caractéristiques */
thead th:not(:first-child),
tbody td {
  text-align: center;
  vertical-align: middle;
}

thead th:not(:first-child) span {
  display: block;
  text-align: center;
}


/* v10 — boutons du dernier bloc alignés à la même hauteur et centrés */
.contact-grid article h3{margin-bottom:12px;}
.contact-grid article p{margin-bottom:26px;}


/* v11 — page mentions légales */
.site-footer{
  width:min(1240px,calc(100% - 40px));
  margin:0 auto;
  padding:28px 0 42px;
  border-top:1px solid var(--line);
  text-align:center;
  color:var(--muted);
  font-family:Montserrat,Arial,sans-serif;
  font-size:14px;
  font-weight:700;
}
.site-footer a:hover{color:white}
.legal-page{
  max-width:980px;
}
.legal-page h1{
  font-size:clamp(42px,5vw,78px);
  margin-bottom:34px;
}
.legal-panel{
  background:var(--panel);
  border:1px solid var(--orange-soft);
  border-radius:var(--radius);
  padding:clamp(26px,5vw,58px);
  box-shadow:0 24px 58px rgba(0,0,0,.22);
}
.legal-panel h2{
  font-size:clamp(22px,2.2vw,34px);
  margin-top:34px;
  margin-bottom:10px;
}
.legal-panel h2:first-child{margin-top:0}
.legal-panel p{
  color:var(--muted);
  margin-bottom:14px;
}
.legal-panel strong{color:var(--text)}
.legal-panel a{color:white;text-decoration:underline;text-decoration-color:var(--orange)}
.legal-back{margin-top:34px}
.legal-back a{
  display:inline-flex;
  background:var(--orange);
  color:white;
  border-radius:999px;
  padding:12px 18px;
  font-family:Montserrat,Arial,sans-serif;
  font-weight:800;
  text-decoration:none;
}


/* v14 — vidéo MP4 placée après FamilleAgri.png */
.video-section{
  width:min(980px,calc(100% - 40px));
  padding-top:clamp(20px,3vw,40px);
  padding-bottom:0;
}
.wide-video{
  margin:0;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--panel);
  border:1px solid var(--orange-soft);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.wide-video video{
  display:block;
  width:100%;
  max-height:min(58svh,520px);
  object-fit:contain;
  background:#000;
}

@media (max-width: 560px){
  .video-section{
    width:min(100% - 28px,980px);
    padding-top:22px;
  }
  .wide-video video{
    max-height:46svh;
  }
}
