@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;700&family=Inter:wght@400;500;600;700;800&display=swap');

/* ═══════════════════════════════════════════════════════
   POWERLAB — FICHE PRODUIT v10
   ═══════════════════════════════════════════════════════ */

/* ═══════ VARIABLES ═══════ */
.fp{
  --gold:#c7a14e;
  --gold-ui:#a8853c;
  --gold-text:#8a6a28;
  --gold-hover:#e0b95f;

  --black:#000000;
  --black-soft:#0d0d0d;
  --dark-2:#161616;
  --dark-3:#1e1e1e;
  --line-dark:#262626;
  --on-dark:#c2c2bd;
  --white:#ffffff;
  --bg:#ffffff;
  --text:#0d0d0d;
  --text-body:#2e2e2e;
  --muted:#000000;
  --border:#e2e2df;
  --border-strong:#c9c9c4;
  --border-dark:#242424;
  --ease:cubic-bezier(.165,.84,.44,1);

  --r:16px;
  --r-sm:12px;
  --r-xs:8px;

  --fs-body:clamp(.9375rem,.9rem + .2vw,1rem);
  --fs-lead:clamp(1rem,.95rem + .3vw,1.0625rem);
  --fs-small:clamp(.875rem,.85rem + .2vw,.9375rem);
  --fs-label:clamp(.75rem,.72rem + .15vw,.8125rem);

  --pad-x:clamp(18px,3vw,60px);
  --pad-y:clamp(24px,2vw,88px);
  --gap:clamp(16px,1.8vw,26px);
  --maxw:1360px;
  --edge:16px;

  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:var(--fs-body);
  line-height:1.65;
  color:var(--text-body);
  background:var(--white);
  -webkit-text-size-adjust:100%;
}

/* ═══════ BASE ═══════ */
.fp *{margin:0;padding:0;box-sizing:border-box;}
.fp img{max-width:100%;height:auto;}
.fp p + p{margin-top:12px;}
.fp strong{color:var(--text);font-weight:700;}
.fp a{color:var(--gold-text);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.fp a:hover{color:#6d5320;}
.fp :focus-visible{outline:3px solid var(--gold-ui);outline-offset:3px;border-radius:var(--r-xs);}

/* ═══════ HERO ═══════ */
.fp-hero{background:var(--black);border-bottom:1px solid var(--border-dark);padding:var(--pad-y) var(--pad-x);border-radius:0;}
.fp-hero-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:clamp(28px,4vw,64px);}
.fp-hero-text{flex:1 1 auto;min-width:0;}
.fp-hero-media{flex:0 0 clamp(280px,32%,420px);position:relative;align-self:center;}
.fp-hero-media::before{
  content:'';position:absolute;top:-8px;right:-8px;width:24px;height:24px;
  border-top:3px solid var(--gold);border-right:3px solid var(--gold);
  border-top-right-radius:var(--r-sm);
}
.fp-hero-media img{width:100%;display:block;border-radius:var(--r-sm);}
.fp-eyebrow{
  color:var(--gold);font-weight:700;font-size:var(--fs-label);
  letter-spacing:2.5px;text-transform:uppercase;margin-bottom:clamp(12px,1.5vw,18px);
}
.fp-hero-title{
  font-family:'Oswald',sans-serif;font-weight:700;
  font-size:clamp(34px,7vw,60px);line-height:1.02;letter-spacing:-1px;
  text-transform:uppercase;color:#fff;margin-bottom:clamp(16px,2vw,22px);text-wrap:balance;
}
.fp-hero-lead{
  max-width:38rem;font-size:var(--fs-lead);line-height:1.7;color:#ededea;
  border-left:3px solid var(--gold);padding-left:clamp(14px,1.6vw,22px);
  margin-bottom:clamp(22px,2.6vw,30px);
}
.fp-hero-lead strong{color:#fff;}
.fp-hero-lead a{color:var(--gold);}
.fp-hero-lead a:hover{color:var(--gold-hover);}
.fp-tags{list-style:none;display:flex;flex-wrap:wrap;gap:10px;}
.fp-tags li{
  border:1px solid rgba(199,161,78,.65);background:transparent;border-radius:999px;
  color:#fff;font-size:var(--fs-label);font-weight:700;letter-spacing:.6px;
  text-transform:uppercase;padding:9px 18px;line-height:1.2;
}

/* ═══════ CHIFFRES CLÉS ═══════ */
.fp-stats{
  background:var(--black);list-style:none;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  border-bottom:1px solid var(--border-dark);
  border-radius:0 0 var(--r) var(--r);overflow:hidden;
}
.fp-stat{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:clamp(22px,2.4vw,32px) clamp(12px,2vw,26px);text-align:center;
  border-right:1px solid var(--border-dark);
}
.fp-stat:last-child{border-right:none;}
.fp-stat-num{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(22px,2.6vw,25px);color:var(--gold);line-height:1.05;letter-spacing:.3px;}
.fp-stat-label{font-size:var(--fs-label);letter-spacing:1.4px;text-transform:uppercase;color:#dcdcd8;font-weight:600;margin-top:10px;line-height:1.35;}

/* ═══════ SECTION ═══════ */
.fp-section{padding:var(--pad-y) var(--pad-x);max-width:var(--maxw);margin:0 auto;background:var(--white);}
.fp-head{margin-bottom:clamp(28px,3.4vw,46px);max-width:62rem;}
.fp-section-eyebrow{
  display:inline-block;color:var(--gold-text);font-weight:700;letter-spacing:2.2px;
  font-size:var(--fs-label);text-transform:uppercase;padding-bottom:8px;
  border-bottom:2px solid var(--gold-ui);margin-bottom:clamp(14px,2vw,20px);
}
.fp-section-title{
  font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(26px,4.2vw,40px);
  text-transform:uppercase;line-height:1.08;letter-spacing:-.5px;color:var(--text);
  margin-bottom:14px;text-wrap:balance;
}
.fp-section-sub{font-size:var(--fs-lead);color:var(--muted);line-height:1.75;}
.fp-section > img{
  display:block;width:100%;margin-top:clamp(24px,3vw,38px);
  background:var(--white);border:1px solid var(--border);border-radius:var(--r);
  padding:clamp(14px,2vw,26px);
}
.fp-part-body > img,
.fp-cards + img,
.fp-usages + img{margin-top:clamp(24px,3vw,38px);}

/* ═══════ COMPOSANT MAJEUR ═══════ */
.fp-parts{display:flex;flex-direction:column;gap:var(--gap);}
.fp-part{
  background:var(--black-soft);
  border:1px solid #1f1f1f;border-radius:var(--r);
  position:relative;overflow:hidden;
}
.fp-part::before{
  content:'';position:absolute;top:-1px;left:-1px;width:26px;height:26px;
  border-top:3px solid var(--gold);border-left:3px solid var(--gold);
  border-top-left-radius:var(--r);z-index:2;
}
.fp-part-head{
  display:flex;align-items:center;gap:clamp(16px,2vw,26px);
  padding:clamp(20px,2.4vw,28px) clamp(20px,2.6vw,36px);
  background:var(--dark-2);border-bottom:1px solid var(--line-dark);
}
.fp-part-logo{
  flex:0 0 auto;width:clamp(74px,9vw,104px);
  display:flex;align-items:center;justify-content:center;
  padding:10px 12px;background:var(--white);
  border:1px solid var(--line-dark);border-radius:var(--r-sm);
}
.fp-part-logo img{width:100%;height:auto;display:block;mix-blend-mode:multiply;}
.fp-part-id{min-width:0;}
.fp-part-role{
  font-size:var(--fs-label);letter-spacing:1.8px;text-transform:uppercase;
  color:var(--gold);font-weight:700;margin-bottom:5px;
}
.fp-part-name{
  font-family:'Oswald',sans-serif;font-weight:700;
  font-size:clamp(19px,2.2vw,27px);text-transform:uppercase;letter-spacing:.3px;
  line-height:1.15;color:#fff;text-wrap:balance;
}
.fp-part-body{padding:clamp(24px,2.6vw,34px) clamp(20px,2.6vw,36px);}
.fp-part-lead{
  font-size:var(--fs-lead);color:#fff;font-weight:600;line-height:1.55;
  padding-bottom:14px;margin-bottom:16px;border-bottom:2px solid var(--gold);
}
.fp-part-body p{font-size:var(--fs-small);color:var(--on-dark);line-height:1.75;max-width:74rem;}
.fp-part-body strong{color:#fff;}
.fp-part-body a{color:var(--gold);border-bottom-color:rgba(199,161,78,.4);}
.fp-part-body a:hover{color:var(--gold-hover);}
.fp-part-tech{
  list-style:none;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:0 clamp(20px,2.6vw,40px);
  margin-top:24px;border-top:1px solid var(--line-dark);
}
.fp-part-tech li{
  position:relative;padding:12px 0 12px 24px;
  font-size:var(--fs-small);color:var(--on-dark);line-height:1.6;
  border-bottom:1px solid var(--line-dark);
}
.fp-part-tech li strong{color:#fff;}
.fp-part-tech li::before{content:'';position:absolute;left:0;top:19px;width:8px;height:8px;background:var(--gold);border-radius:2px;}

/* ═══════ SYNTHÈSE ═══════ */
.fp-outcome{
  margin-top:var(--gap);background:var(--black);
  border:1px solid #1f1f1f;border-radius:var(--r);overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:stretch;
}
.fp-outcome-text{padding:clamp(26px,3vw,40px) clamp(22px,2.8vw,40px);}
.fp-outcome-text h3{
  font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(18px,2vw,24px);
  text-transform:uppercase;color:#fff;letter-spacing:.4px;margin-bottom:12px;line-height:1.2;
}
.fp-outcome-text p{font-size:var(--fs-body);color:#d4d4cf;line-height:1.75;}
.fp-outcome-res{
  padding:clamp(26px,3vw,40px) clamp(22px,2.8vw,36px);background:var(--black);
  border-left:1px solid var(--line-dark);
  display:flex;flex-direction:column;justify-content:center;
}
.fp-outcome-res-label{font-size:var(--fs-label);font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.fp-outcome-res-value{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(44px,6vw,74px);line-height:1;color:#fff;letter-spacing:-2px;margin-bottom:14px;}
.fp-outcome-res-desc{font-size:var(--fs-small);color:#d4d4cf;line-height:1.7;}

/* ═══════ POWERED BY ═══════ */
.fp-powered{background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.fp-powered-inner{
  max-width:var(--maxw);margin:0 auto;padding:var(--pad-y) var(--pad-x);
  display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(26px,3.4vw,54px);align-items:start;
}
.fp-powered-brand{
  border:1px solid var(--border);border-radius:var(--r);background:var(--white);
  padding:clamp(22px,2.4vw,30px);text-align:center;position:relative;
}
.fp-powered-brand::before{
  content:'';position:absolute;top:-8px;left:-8px;width:22px;height:22px;
  border-top:3px solid var(--gold-ui);border-left:3px solid var(--gold-ui);
  border-top-left-radius:var(--r-sm);
}
.fp-powered-logo{width:100%;max-width:150px;height:auto;margin:0 auto 16px;display:block;mix-blend-mode:multiply;}
.fp-powered-kicker{font-size:var(--fs-label);font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-text);line-height:1.4;}
.fp-powered-title{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(26px,3.6vw,42px);text-transform:uppercase;color:var(--black);line-height:1.1;letter-spacing:-.5px;margin-bottom:16px;}
.fp-powered-lead{
  font-size:var(--fs-lead);color:var(--text-body);line-height:1.75;
  padding-bottom:clamp(22px,2.6vw,30px);border-bottom:1px solid var(--border);margin-bottom:clamp(22px,2.6vw,30px);
}
.fp-powered-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(20px,2.4vw,30px);}
.fp-powered-item h3{
  font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(16px,1.6vw,19px);
  text-transform:uppercase;letter-spacing:.4px;color:var(--black);
  padding-top:14px;border-top:3px solid var(--gold-ui);margin-bottom:10px;line-height:1.25;
}
.fp-powered-item p{font-size:var(--fs-small);color:var(--text-body);line-height:1.7;}
.fp-powered-foot{margin-top:clamp(24px,3vw,34px);padding-top:20px;border-top:1px solid var(--border);font-size:var(--fs-small);color:var(--muted);}

/* ═══════ CARTES & USAGES ═══════ */
.fp-cards,
.fp-usages{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:var(--gap);
  background:transparent;border:none;
}
.fp-card,
.fp-usage{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;
  background:var(--black-soft);
  border:1px solid #1f1f1f;border-radius:var(--r);
  padding:clamp(32px,3.4vw,44px) clamp(24px,2.4vw,32px);
  text-align:center;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease);
}
.fp-card::after,
.fp-usage::after{
  content:'';position:absolute;inset:0;border-radius:var(--r);
  box-shadow:inset 0 0 0 1px var(--gold-ui);
  opacity:0;transition:opacity .4s var(--ease);pointer-events:none;
}
.fp-card:hover,
.fp-usage:hover{border-color:transparent;box-shadow:0 22px 50px rgba(0,0,0,.35);transform:translateY(-4px);}
.fp-card:hover::after,
.fp-usage:hover::after{opacity:1;}
.fp-card-icon,
.fp-usage-icon{
  width:64px;height:64px;flex:0 0 64px;
  border:1px solid #333;border-radius:var(--r-sm);
  background:var(--dark-2);
  display:flex;align-items:center;justify-content:center;
  margin:0 0 22px;
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.fp-card-icon svg,
.fp-usage-icon svg{
  width:27px;height:27px;stroke:var(--gold);fill:none;
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .35s var(--ease);
}
.fp-card:hover .fp-card-icon,
.fp-usage:hover .fp-usage-icon{background:var(--dark-3);border-color:var(--gold-ui);}
.fp-card:hover .fp-card-icon svg,
.fp-usage:hover .fp-usage-icon svg{stroke:var(--gold-hover);}
.fp-card h3,
.fp-usage h3{
  font-family:'Oswald',sans-serif;font-weight:700;
  font-size:clamp(18px,1.9vw,22px);text-transform:uppercase;letter-spacing:.6px;
  color:#fff;margin-bottom:12px;line-height:1.2;text-wrap:balance;
}
.fp-card p,
.fp-usage p{font-size:var(--fs-small);color:var(--on-dark);line-height:1.75;max-width:34rem;}
.fp-card strong,
.fp-usage strong{color:#fff;}
.fp-card a,
.fp-usage a{color:var(--gold);border-bottom-color:rgba(199,161,78,.4);}
.fp-card a:hover,
.fp-usage a:hover{color:var(--gold-hover);}

.fp-nvidia-cards-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1024px){
  .fp-nvidia-cards-grid.is-three{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:576px){
  .fp-nvidia-cards-grid.is-three{grid-template-columns:minmax(0,1fr);}
}
/* ═══════ CONFIGURATION ═══════ */
.fp-config{border:1px solid var(--border);border-radius:var(--r);background:var(--white);overflow:hidden;}
.fp-config-group + .fp-config-group{border-top:1px solid var(--border);}
.fp-config-group-head{background:var(--black);padding:16px clamp(18px,2.4vw,28px);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;}
.fp-config-group-title{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(15px,1.6vw,18px);text-transform:uppercase;letter-spacing:.6px;color:#fff;line-height:1.3;}
.fp-config-group-note{font-size:var(--fs-label);color:#b3b3ad;line-height:1.4;}
.fp-config-row{border-bottom:1px solid var(--border);}
.fp-config-group:last-child .fp-config-row:last-child{border-bottom:none;}
.fp-config-line,
.fp-config-sum{
  display:grid;grid-template-columns:220px minmax(0,1fr);
  gap:6px clamp(16px,2.4vw,32px);align-items:baseline;
  padding:15px clamp(18px,2.4vw,28px);
}
.fp-config-sum{cursor:pointer;list-style:none;background:var(--white);transition:box-shadow .25s var(--ease);}
.fp-config-sum::-webkit-details-marker{display:none;}
.fp-config-sum:hover{box-shadow:inset 3px 0 0 var(--gold-ui);}
.fp-config-row[open] > .fp-config-sum{box-shadow:inset 3px 0 0 var(--gold-ui);}
.fp-config-label{font-size:var(--fs-label);font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);line-height:1.6;}
.fp-config-value{font-size:var(--fs-body);color:var(--text);line-height:1.6;}
.fp-config-cue{
  display:inline-flex;align-items:center;gap:6px;
  margin-left:10px;white-space:nowrap;vertical-align:baseline;
  font-size:.8125rem;font-weight:600;color:var(--gold-text);
  border-bottom:1px dotted var(--gold-ui);padding-bottom:1px;
  transition:color .25s var(--ease);
}
.fp-config-sum:hover .fp-config-cue{color:#6d5320;}
.fp-config-cue::after{
  content:'';width:7px;height:7px;flex:0 0 7px;
  border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);
  transition:transform .25s var(--ease);
}
.fp-config-row[open] .fp-config-cue::after{transform:rotate(-135deg) translate(-2px,-2px);}
.fp-config-row[open] .fp-config-cue-open{display:none;}
.fp-config-cue-close{display:none;}
.fp-config-row[open] .fp-config-cue-close{display:inline;}
.fp-config-panel{
  background:#faf9f6;border-left:3px solid var(--gold-ui);border-top:1px solid var(--border);
  padding:18px clamp(18px,2.4vw,28px) 20px;
}
.fp-config-panel-title{
  display:inline-block;margin-bottom:8px;border-radius:var(--r-xs);
  font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;
  color:#fff;background:var(--black);padding:5px 12px;line-height:1.3;
}
.fp-config-panel p{font-size:var(--fs-small);color:var(--text-body);line-height:1.75;max-width:74rem;}
.fp-config-panel strong{color:var(--black);}

/* ═══════ FAQ ═══════ */
.fp-faq-section{background:var(--white);border-top:1px solid var(--border);}
.fp-faq-inner{max-width:var(--maxw);margin:0 auto;padding:var(--pad-y) var(--pad-x);}
.fp-faq{display:flex;flex-direction:column;gap:10px;max-width:64rem;}
.fp-faq-item{
  border:1px solid var(--border);border-radius:var(--r);
  background:var(--white);overflow:hidden;
  transition:border-color .3s var(--ease);
}
.fp-faq-item[open]{border-color:var(--gold-ui);}
.fp-faq-summary{
  display:flex;justify-content:space-between;align-items:center;gap:clamp(12px,1.8vw,20px);
  padding:clamp(16px,1.9vw,21px) clamp(16px,2.4vw,26px);min-height:64px;cursor:pointer;list-style:none;
}
.fp-faq-summary::-webkit-details-marker{display:none;}
.fp-faq-question{
  font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(15px,1.6vw,18px);
  text-transform:uppercase;letter-spacing:.3px;color:var(--black);line-height:1.35;
  flex:1 1 auto;min-width:0;text-wrap:balance;
}
.fp-faq-item[open] .fp-faq-question{color:var(--gold-text);}
.fp-faq-icon{
  width:40px;height:40px;flex:0 0 40px;
  border:1px solid var(--border);border-radius:var(--r-sm);position:relative;
  transition:background .3s var(--ease),border-color .3s var(--ease);
}
.fp-faq-icon::before,.fp-faq-icon::after{content:'';position:absolute;background:var(--text);top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .3s var(--ease),background .3s var(--ease);}
.fp-faq-icon::before{width:14px;height:2px;}
.fp-faq-icon::after{width:2px;height:14px;}
.fp-faq-item[open] .fp-faq-icon{background:var(--black);border-color:var(--black);}
.fp-faq-item[open] .fp-faq-icon::before{background:var(--gold);}
.fp-faq-item[open] .fp-faq-icon::after{background:var(--gold);transform:translate(-50%,-50%) rotate(90deg);}
.fp-faq-answer{padding:0 clamp(16px,2.4vw,26px) clamp(18px,2.4vw,26px);border-top:1px solid var(--border);}
.fp-faq-answer p{font-size:var(--fs-body);color:var(--text-body);line-height:1.75;margin-top:18px;}

/* ═══════ RÉASSURANCE ═══════ */
.fp-trust{
  list-style:none;background:var(--black);display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  border-radius:var(--r);overflow:hidden;
  margin:0 var(--pad-x);
}
.fp-trust li{padding:clamp(22px,2.4vw,30px) clamp(14px,2vw,24px);text-align:center;border-right:1px solid var(--border-dark);}
.fp-trust li:last-child{border-right:none;}
.fp-trust strong{display:block;font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(15px,1.6vw,17px);text-transform:uppercase;letter-spacing:.5px;color:var(--gold);margin-bottom:6px;line-height:1.25;}
.fp-trust span{display:block;font-size:var(--fs-label);color:#dcdcd8;line-height:1.5;}

/* ═══════ CLÔTURE ═══════ */
.fp-closing{
  background:var(--black);padding:var(--pad-y) var(--pad-x);text-align:center;
  border-radius:var(--r);margin:var(--gap) var(--pad-x) 0;
}
.fp-closing-text{color:#ededea;font-size:var(--fs-lead);line-height:1.75;max-width:56rem;margin:0 auto clamp(22px,2.6vw,30px);}
.fp-closing-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px clamp(18px,2.4vw,32px);}
.fp-closing-links a{color:var(--gold);font-size:var(--fs-small);}
.fp-closing-links a:hover{color:var(--gold-hover);}

/* ═══════ SHOWCASE VIDÉO ═══════ */
.fp-section.fp-showcase{
  background:var(--black);
  border:1px solid #1f1f1f;border-radius:var(--r);
  max-width:var(--maxw);margin:0 auto;
  padding:clamp(30px,3.4vw,60px) clamp(22px,2.8vw,52px);
}
.fp-showcase .fp-section-eyebrow{color:var(--gold);border-bottom-color:var(--gold);}
.fp-showcase .fp-section-title{color:#fff;}
.fp-showcase .fp-section-sub{color:var(--on-dark);}
.fp-showcase .fp-head a{color:var(--gold);}
.fp-showcase .fp-head a:hover{color:var(--gold-hover);}
.fp-showcase-box{position:relative;}
.fp-showcase-radio{
  position:absolute;bottom:0;left:0;
  width:1px;height:1px;padding:0;margin:0;border:0;
  opacity:0;pointer-events:none;
}
.fp-showcase-stage{
  position:relative;width:100%;
  aspect-ratio:16/9;overflow:hidden;
  background:var(--black-soft);
  border:1px solid var(--line-dark);border-radius:var(--r);
}
.fp-showcase-video{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;display:block;
  opacity:0;visibility:hidden;
  transition:opacity .45s var(--ease);
}
.fp .fp-showcase-radio:nth-of-type(1):checked ~ .fp-showcase-stage .fp-showcase-video[data-uc="prod"],
.fp .fp-showcase-radio:nth-of-type(2):checked ~ .fp-showcase-stage .fp-showcase-video[data-uc="game"],
.fp .fp-showcase-radio:nth-of-type(3):checked ~ .fp-showcase-stage .fp-showcase-video[data-uc="code"],
.fp .fp-showcase-radio:nth-of-type(4):checked ~ .fp-showcase-stage .fp-showcase-video[data-uc="mile"]{
  opacity:1;visibility:visible;z-index:2;
}
.fp-showcase-tabs{
  display:flex;flex-wrap:wrap;justify-content:center;
  margin:clamp(16px,2vw,22px) auto 0;
  background:var(--dark-2);
  border:1px solid var(--line-dark);border-radius:999px;
  padding:5px;gap:4px;
  width:fit-content;max-width:100%;
}
.fp-showcase-tab{
  position:relative;
  display:inline-flex;align-items:center;gap:10px;
  padding:12px clamp(16px,2vw,26px);min-height:46px;border-radius:999px;
  font-family:'Inter',sans-serif;
  font-size:var(--fs-label);font-weight:700;
  letter-spacing:.9px;text-transform:uppercase;
  color:var(--on-dark);background:transparent;
  cursor:pointer;user-select:none;white-space:nowrap;
  transition:background .3s var(--ease),color .3s var(--ease);
}
.fp-showcase-tab svg{
  width:17px;height:17px;flex:0 0 17px;
  stroke:currentColor;fill:none;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .3s var(--ease);
}
.fp-showcase-tab:hover{background:var(--dark-3);color:#fff;}
.fp .fp-showcase-radio:nth-of-type(1):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(1),
.fp .fp-showcase-radio:nth-of-type(2):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(2),
.fp .fp-showcase-radio:nth-of-type(3):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(3),
.fp .fp-showcase-radio:nth-of-type(4):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(4),
.fp .fp-showcase-tab.is-active{background:var(--gold);color:var(--black);}
.fp .fp-showcase-radio:nth-of-type(1):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(1) svg,
.fp .fp-showcase-radio:nth-of-type(2):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(2) svg,
.fp .fp-showcase-radio:nth-of-type(3):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(3) svg,
.fp .fp-showcase-radio:nth-of-type(4):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(4) svg,
.fp .fp-showcase-tab.is-active svg{stroke:var(--black);}
.fp .fp-showcase-radio:nth-of-type(1):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(1):hover,
.fp .fp-showcase-radio:nth-of-type(2):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(2):hover,
.fp .fp-showcase-radio:nth-of-type(3):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(3):hover,
.fp .fp-showcase-radio:nth-of-type(4):checked ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(4):hover,
.fp .fp-showcase-tab.is-active:hover{background:var(--gold);color:var(--black);}
.fp .fp-showcase-radio:nth-of-type(1):focus-visible ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(1),
.fp .fp-showcase-radio:nth-of-type(2):focus-visible ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(2),
.fp .fp-showcase-radio:nth-of-type(3):focus-visible ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(3),
.fp .fp-showcase-radio:nth-of-type(4):focus-visible ~ .fp-showcase-tabs .fp-showcase-tab:nth-of-type(4){
  outline:3px solid var(--gold-hover);outline-offset:2px;
}
.fp-showcase-desc{
  display:grid;
  margin-bottom:clamp(16px,2vw,24px);
  max-width:64rem;
}
.fp-showcase-note{
  grid-area:1/1;
  font-size:var(--fs-lead);line-height:1.75;color:var(--on-dark);
  opacity:0;visibility:hidden;
  transition:opacity .35s var(--ease);
}
.fp-showcase-note strong{color:#fff;}
.fp-showcase-note a{color:var(--gold);}
.fp-showcase-note a:hover{color:var(--gold-hover);}
.fp .fp-showcase-radio:nth-of-type(1):checked ~ .fp-showcase-desc .fp-showcase-note[data-uc="prod"],
.fp .fp-showcase-radio:nth-of-type(2):checked ~ .fp-showcase-desc .fp-showcase-note[data-uc="game"],
.fp .fp-showcase-radio:nth-of-type(3):checked ~ .fp-showcase-desc .fp-showcase-note[data-uc="code"],
.fp .fp-showcase-radio:nth-of-type(4):checked ~ .fp-showcase-desc .fp-showcase-note[data-uc="mile"]{
  opacity:1;visibility:visible;
}

/* ═══════ GALERIE ═══════ */
.fp-section.fp-showcase.is-joined{
  border-radius:var(--r) var(--r) 0 0;
  padding-bottom:clamp(24px,2.6vw,40px);
}
.fp-section.fp-showcase.fp-gallery{
  border-top:none;
  border-radius:0 0 var(--r) var(--r);
  padding-top:clamp(24px,2.6vw,40px);
}
.fp-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--gap);
}
.fp-gallery-grid img{
  width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  background:var(--black-soft);
  border:1px solid var(--line-dark);border-radius:var(--r);
}

/* ═══════ BLOC NVIDIA — CONTENEUR ═══════ */
.fp-section.fp-tech,
.fp-nvidia{
  background:var(--black);
  color:#fff;
  border:1px solid #1f1f1f;border-radius:var(--r);
  max-width:var(--maxw);margin:0 auto;
  padding:clamp(24px,4vw,48px) clamp(16px,3vw,32px);
}

/* ═══════ BANNIÈRE RTX ═══════ */
.fp-rtx-hero{
  position:relative;width:100%;
  background:var(--black);color:#fff;
  overflow:hidden;border-radius:var(--r-sm);
  margin-bottom:clamp(34px,4vw,64px);
  display:flex;flex-direction:column;align-items:center;
}
.fp-rtx-bg-wrapper{
  position:relative;width:100%;
  aspect-ratio:16/9;max-height:680px;overflow:hidden;
}
.fp-rtx-bg-wrapper picture,
.fp-rtx-bg-wrapper img{
  width:100%;height:100%;
  object-fit:cover;object-position:center top;display:block;
}
.fp-rtx-overlay{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(0,0,0,.85) 0%,rgba(0,0,0,.2) 35%,
    rgba(0,0,0,.2) 70%,rgba(0,0,0,1) 100%);
}
.fp-rtx-content{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:960px;
  padding:clamp(20px,4vw,40px) 20px 0;
  text-align:center;z-index:2;pointer-events:none;
}
.fp-rtx-tagline{
  display:block;font-size:clamp(11px,1.2vw,14px);font-weight:800;
  letter-spacing:1.5px;text-transform:uppercase;color:#fff;
  margin-bottom:8px;opacity:.9;
}
.fp-rtx-hero-title{
  font-size:clamp(20px,3.2vw,36px);font-weight:800;line-height:1.2;
  color:#fff;margin:0 0 clamp(12px,2vw,20px);letter-spacing:-.5px;text-wrap:balance;
}
.fp-rtx-hero-desc{
  font-size:clamp(12px,1.3vw,15px);line-height:1.55;color:#d1d1d1;
  margin:0 auto;max-width:860px;text-shadow:0 2px 4px rgba(0,0,0,.8);
}

/* ═══════ NVIDIA — PUCE ET POINTS FORTS ═══════ */
.fp-tech-top{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(28px,4vw,72px);
  align-items:center;
  padding-bottom:clamp(34px,4vw,72px);
}
.fp-tech-die img{width:100%;max-width:460px;height:auto;display:block;margin:0 auto;}
.fp-tech-highlights{list-style:none;display:flex;flex-direction:column;gap:clamp(22px,2.6vw,34px);}
.fp-tech-highlights h3{
  font-weight:800;font-size:clamp(19px,2vw,25px);line-height:1.25;
  color:#fff;margin:0 0 8px;letter-spacing:-.2px;text-wrap:balance;
}
.fp-tech-highlights p{font-size:var(--fs-small);color:#a8a8a3;line-height:1.5;margin:0;}

/* ═══════ NVIDIA — GRILLE TECHNOLOGIES ═══════ */
.fp-tech-grid{
  list-style:none;display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,1.6vw,22px);
  margin:0 0 clamp(40px,5vw,64px);
}
.fp-tech-item{
  background:#1c1c1c;
  border:1px solid #262626;border-radius:var(--r-sm);
  padding:clamp(24px,2.4vw,32px) clamp(16px,1.8vw,24px);
  text-align:center;
  display:flex;flex-direction:column;align-items:center;
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.fp-tech-item:hover{background:#232323;border-color:#3a3a3a;}
.fp-tech-icon{
  width:56px;height:56px;display:block;
  margin:0 auto clamp(18px,2vw,26px);
  filter:brightness(0) invert(1);
}
.fp-tech-item h3{
  font-weight:700;font-size:clamp(14px,1.4vw,16px);line-height:1.3;
  color:#fff;margin:0 0 10px;text-wrap:balance;
}
.fp-tech-item p{font-size:clamp(12.5px,1.2vw,13.5px);color:#9d9d98;line-height:1.5;margin:0;}

/* ═══════ SLIDER ═══════ */
.fp-slider-container{
  background:var(--black);
  border:1px solid #1f1f1f;border-radius:var(--r);
  padding:clamp(22px,2.4vw,40px);
  margin-bottom:clamp(40px,5vw,64px);
}
.fp-slider{position:relative;}
.fp-slider-radio{
  position:absolute;bottom:0;left:0;
  width:1px;height:1px;padding:0;margin:0;border:0;
  opacity:0;pointer-events:none;
}
.fp-slider-stage{
  position:relative;width:100%;
  aspect-ratio:16/9;overflow:hidden;
  background:var(--black);border-radius:var(--r-sm);
}
.fp-slide{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:contain;display:block;
  opacity:0;
  animation:fp-slide-cycle 20s var(--ease) infinite;
}
.fp-slide[data-sl="1"]{animation-delay:0s;}
.fp-slide[data-sl="2"]{animation-delay:5s;}
.fp-slide[data-sl="3"]{animation-delay:10s;}
.fp-slide[data-sl="4"]{animation-delay:15s;}
@keyframes fp-slide-cycle{
  0%{opacity:0;} 2%{opacity:1;} 23%{opacity:1;} 25%{opacity:0;} 100%{opacity:0;}
}
.fp-slider-dots{
  display:flex;justify-content:center;align-items:center;gap:10px;
  margin-top:clamp(14px,1.6vw,20px);
}
.fp-slider-dot{
  position:relative;width:28px;height:24px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.fp-slider-dot span{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;
}
.fp-slider-dot::before{
  content:'';width:7px;height:7px;border-radius:50%;
  background:rgba(255,255,255,.28);
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.fp-slider-dot:hover::before{background:rgba(255,255,255,.6);}
.fp-slider-dot:nth-of-type(1)::before{animation:fp-dot-cycle 20s var(--ease) infinite;animation-delay:0s;}
.fp-slider-dot:nth-of-type(2)::before{animation:fp-dot-cycle 20s var(--ease) infinite;animation-delay:5s;}
.fp-slider-dot:nth-of-type(3)::before{animation:fp-dot-cycle 20s var(--ease) infinite;animation-delay:10s;}
.fp-slider-dot:nth-of-type(4)::before{animation:fp-dot-cycle 20s var(--ease) infinite;animation-delay:15s;}
@keyframes fp-dot-cycle{
  0%{background:rgba(255,255,255,.28);transform:scale(1);}
  2%{background:var(--gold);transform:scale(1.25);}
  23%{background:var(--gold);transform:scale(1.25);}
  25%{background:rgba(255,255,255,.28);transform:scale(1);}
  100%{background:rgba(255,255,255,.28);transform:scale(1);}
}
.fp-slider:has(.fp-slider-radio:checked) .fp-slide,
.fp-slider:has(.fp-slider-radio:checked) .fp-slider-dot::before{animation:none;}
.fp-slider:has(.fp-slider-radio:checked) .fp-slide{transition:opacity .5s var(--ease);}
#fp-sl-1:checked ~ .fp-slider-stage .fp-slide[data-sl="1"],
#fp-sl-2:checked ~ .fp-slider-stage .fp-slide[data-sl="2"],
#fp-sl-3:checked ~ .fp-slider-stage .fp-slide[data-sl="3"],
#fp-sl-4:checked ~ .fp-slider-stage .fp-slide[data-sl="4"]{opacity:1;}
#fp-sl-1:checked ~ .fp-slider-dots .fp-slider-dot:nth-of-type(1)::before,
#fp-sl-2:checked ~ .fp-slider-dots .fp-slider-dot:nth-of-type(2)::before,
#fp-sl-3:checked ~ .fp-slider-dots .fp-slider-dot:nth-of-type(3)::before,
#fp-sl-4:checked ~ .fp-slider-dots .fp-slider-dot:nth-of-type(4)::before{
  background:var(--gold);transform:scale(1.25);
}
#fp-sl-1:focus-visible ~ .fp-slider-dots .fp-slider-dot:nth-of-type(1),
#fp-sl-2:focus-visible ~ .fp-slider-dots .fp-slider-dot:nth-of-type(2),
#fp-sl-3:focus-visible ~ .fp-slider-dots .fp-slider-dot:nth-of-type(3),
#fp-sl-4:focus-visible ~ .fp-slider-dots .fp-slider-dot:nth-of-type(4){
  outline:2px solid var(--gold-hover);outline-offset:2px;border-radius:50%;
}

/* ═══════ NVIDIA — CARTES ═══════ */
.fp-nvidia-cards-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,2vw,24px);
  width:100%;
}
.fp-nvidia-card{
  display:flex;flex-direction:column;
  background:#0c0c0c;
  border:1px solid #1f1f1f;border-radius:var(--r-sm);
  overflow:hidden;
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.fp-nvidia-card:hover{background:#141414;border-color:#333;}
.fp-nvidia-img-wrapper{
  width:100%;aspect-ratio:16/9;overflow:hidden;background:#000;
}
.fp-nvidia-img-wrapper img{width:100%;height:100%;object-fit:cover;display:block;}
.fp-nvidia-tag{
  font-size:clamp(10px,1vw,11px);font-weight:700;color:#888;
  padding:16px 16px 0;text-transform:uppercase;letter-spacing:.5px;
}
.fp-nvidia-title{
  font-size:clamp(15px,1.3vw,18px);font-weight:700;line-height:1.25;
  padding:8px 16px 0;color:#fff;margin:0;letter-spacing:-.2px;
}
.fp-nvidia-desc{
  font-size:clamp(12px,1.1vw,13.5px);line-height:1.45;color:#a8a8a3;
  padding:8px 16px 16px;margin:0;
}
.fp-nvidia-main-heading{
  text-align:center;font-size:clamp(20px,2.5vw,32px);font-weight:800;
  margin:clamp(48px,6vw,72px) 0 clamp(20px,3vw,32px);
  color:#fff;letter-spacing:-.5px;
}

/* ═══════ BRIQUE A — SECTION ═══════ */
.fp-section.fp-briqueA-section{
  background:var(--black);
  border:1px solid #1f1f1f;border-radius:var(--r);
  max-width:var(--maxw);margin:0 auto;
  padding:clamp(30px,3.4vw,60px) clamp(22px,2.8vw,52px);
}
.fp-briqueA-section .fp-section-eyebrow{color:var(--gold);border-bottom-color:var(--gold);}
.fp-briqueA-section .fp-section-title{color:#fff;}
.fp-briqueA-section .fp-section-sub{color:var(--on-dark);}
.fp-briqueA-section .fp-head a{color:var(--gold);}
.fp-briqueA-section .fp-head a:hover{color:var(--gold-hover);}

/* ═══════ BRIQUE A — GRILLE ═══════ */
.fp-briqueA{
  --bA-bg:linear-gradient(155deg,#000 0%,#12082a 46%,#33115e 100%);
  --bA-vivid:linear-gradient(130deg,#000 0%,#2a0d5c 40%,#6d1aa8 100%);
  --bA-line:rgba(255,255,255,.09);
  --bA-veil:#0a0416;
  --bA-r:clamp(14px,1.6vw,22px);

  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.55fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
.fp-briqueA--split{
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:stretch;
  margin-bottom: 20px;
}
.fp-briqueA--split > .fp-briqueA-card:not(.is-hero){aspect-ratio:auto;min-height:0;}
.fp-briqueA--split > .fp-briqueA-card.is-media{min-height:0;}

/* ═══════ BRIQUE A — CARTES ═══════ */
.fp-briqueA-card{
  position:relative;overflow:hidden;min-width:0;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  background:var(--bA-bg);
  border:1px solid var(--bA-line);border-radius:var(--bA-r);
  padding:clamp(30px,2.2vw,42px);
  color:#fff;
  transition:transform .35s var(--ease),border-color .35s var(--ease);
}
.fp-briqueA-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.24);}
.fp-briqueA-title{
  font-weight:800;font-size:clamp(17px,1.8vw,23px);line-height:1.22;
  letter-spacing:-.2px;color:#fff;margin-bottom:10px;text-wrap:balance;
}
.fp-briqueA-text{font-size:var(--fs-small);line-height:1.5;color:#c9c9dd;}
.fp-briqueA-icon{
  width:clamp(48px,5.4vw,68px);height:auto;display:block;
  margin:0 auto clamp(12px,1.5vw,18px);
}


/* ═══════ BRIQUE A — TUILE À ICÔNE LATÉRALE ═══════ */
.fp-briqueA-card.is-row{
  flex-direction:row;align-items:center;justify-content:flex-start;
  text-align:left;gap:clamp(12px,1.5vw,18px);
}
.fp-briqueA-card.is-row .fp-briqueA-icon{
  margin:0;flex:0 0 auto;width:clamp(42px,4.2vw,54px);
}

/* ═══════ BRIQUE A — HERO ═══════ */
.fp-briqueA-card.is-hero{
  grid-column:3;grid-row:1/-1;
  justify-content:flex-start;
  padding:clamp(36px,3vw,54px) clamp(30px,2.4vw,44px) 0;
}
.fp-briqueA--split > .is-hero{grid-column:1;grid-row:1/-1;min-height:0;}
.fp-briqueA--split > .is-hero .fp-briqueA-visual{
  flex:1 1 auto;min-height:0;
  display:flex;align-items:flex-end;justify-content:center;
}
.fp-briqueA--split > .is-hero .fp-briqueA-visual img{
  height:100%;width:auto;max-width:100%;
  object-fit:contain;object-position:bottom center;
}
.fp-briqueA-card.is-hero .fp-briqueA-title{
  font-size:clamp(24px,3.2vw,42px);line-height:1.12;margin-bottom:12px;
}
.fp-briqueA-card.is-hero .fp-briqueA-text{color:#dcdcee;}
.fp-briqueA-visual{margin-top:auto;width:100%;padding-top:clamp(16px,2.2vw,28px);}
.fp-briqueA-visual img{width:100%;height:auto;display:block;}
.fp-briqueA-card.is-vivid{background:var(--bA-vivid);border-color:rgba(255,255,255,.2);}

/* ═══════ BRIQUE A — VISUEL PLEIN CADRE ═══════ */
.fp-briqueA-card.is-cover{padding:clamp(36px,3vw,54px) clamp(30px,2.4vw,44px);}
.fp-briqueA-card.is-cover .fp-briqueA-cover{position:absolute;inset:0;z-index:0;}
.fp-briqueA-card.is-cover .fp-briqueA-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.fp-briqueA-card.is-cover::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(10,4,22,.86) 0%,rgba(10,4,22,.42) 42%,rgba(10,4,22,0) 78%);
}
.fp-briqueA-card.is-cover > *:not(.fp-briqueA-cover){position:relative;z-index:2;}
.fp-briqueA-card.is-cover .fp-briqueA-text{color:#e6e6f2;}

/* ═══════ BRIQUE A — VISUEL DE FOND FONDU ═══════ */
.fp-briqueA-card.is-media{
  align-items:flex-start;text-align:left;justify-content:center;
  padding-right:44%;
}
.fp-briqueA-media{position:absolute;inset:0 0 0 auto;width:64%;height:100%;}
.fp-briqueA-media img{width:100%;height:100%;object-fit:cover;display:block;}
.fp-briqueA-card.is-media::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,
    var(--bA-veil) 0%,rgba(10,4,22,.94) 34%,rgba(10,4,22,0) 74%);
}
.fp-briqueA-card.is-media > *:not(.fp-briqueA-media){position:relative;z-index:2;}

/* ═══════ VISUELS DE SECTION ═══════ */
.fp-visuals{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:var(--gap);
  margin-top:clamp(24px,3vw,38px);
}
.fp-visual{
  position:relative;overflow:hidden;min-width:0;
  background:var(--black-soft);
  border:1px solid var(--line-dark);border-radius:var(--r);
  transition:border-color .35s var(--ease),transform .35s var(--ease);
}
.fp-visual:hover{border-color:var(--gold-ui);transform:translateY(-3px);}
.fp-visual img{
  width:100%;aspect-ratio:16/10;object-fit:cover;display:block;
  background:var(--black);
}
.fp-visual figcaption{
  position:absolute;left:12px;right:12px;bottom:12px;
  background:rgba(0,0,0,.72);
  border:1px solid var(--line-dark);border-radius:var(--r-xs);
  padding:9px 12px;text-align:center;
  font-family:'Oswald',sans-serif;font-weight:700;
  font-size:var(--fs-label);letter-spacing:1.2px;text-transform:uppercase;
  color:#fff;line-height:1.25;
}
.fp-visual:hover figcaption{color:var(--gold);}
/* ═══════════════════════════════════════════════════════
   RESPONSIVE
   1200 · 1100 · 1024 · 900 · 768 · 576 · 420 · 360
   ═══════════════════════════════════════════════════════ */

/* ─── 1200px ─── */
@media(max-width:1200px){
  .fp-tech-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .fp-config-line,.fp-config-sum{grid-template-columns:200px minmax(0,1fr);}
}

/* ─── 1100px ─── */
@media(max-width:1100px){
  .fp-outcome{grid-template-columns:minmax(0,1fr);}
  .fp-outcome-res{border-left:none;border-top:1px solid var(--line-dark);}

  .fp-config-line,.fp-config-sum{grid-template-columns:180px minmax(0,1fr);}

  .fp-showcase-tabs{
    width:100%;flex-wrap:nowrap;justify-content:flex-start;
    overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    border-radius:var(--r);
  }
  .fp-showcase-tabs::-webkit-scrollbar{display:none;}
  .fp-showcase-tab{padding:12px 18px;}

  .fp-briqueA{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.3fr);}
}

/* ─── 1024px ─── */
@media(max-width:1024px){
  .fp-hero-inner{flex-direction:column;align-items:stretch;gap:clamp(20px,3vw,32px);}
  .fp-hero-media{order:-1;flex:0 0 auto;max-width:340px;margin:0 auto;}
  .fp-hero-media::before{display:none;}

  .fp-powered-inner{grid-template-columns:minmax(0,1fr);}
  .fp-powered-brand{display:flex;align-items:center;gap:20px;text-align:left;padding:18px 22px;}
  .fp-powered-logo{margin:0;max-width:110px;flex:0 0 auto;}

  .fp-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fp-nvidia-cards-grid{grid-template-columns:repeat(2,1fr);}

  .fp-tech-top{grid-template-columns:minmax(0,1fr);gap:clamp(20px,3vw,32px);}
  .fp-tech-die img{max-width:380px;}

  .fp-briqueA,
  .fp-briqueA--split{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
  }
  .fp-briqueA-card.is-hero,
  .fp-briqueA--split > .is-hero{grid-column:1/-1;grid-row:auto;}
  .fp-briqueA > .fp-briqueA-card:not(.is-hero){
    aspect-ratio:auto;min-height:clamp(170px,22vw,220px);
  }
  .fp-briqueA-card.is-media{padding-right:38%;min-height:clamp(170px,20vw,220px);}
  .fp-briqueA-card.is-hero .fp-briqueA-visual{display:block;flex:0 0 auto;}
  .fp-briqueA-card.is-hero .fp-briqueA-visual img{
    height:auto;width:100%;max-width:520px;margin:0 auto;object-fit:contain;
  }
  .fp-briqueA--split > .fp-briqueA-card:not(.is-hero){min-height:clamp(170px,22vw,220px);}
  .fp-briqueA-card.is-cover{min-height:clamp(280px,40vw,380px);}
}

/* ─── 900px ─── */
@media(max-width:900px){
  .fp-tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fp-part-tech{grid-template-columns:minmax(0,1fr);}
  .fp-config-line,.fp-config-sum{grid-template-columns:160px minmax(0,1fr);}
  .fp-faq-question{font-size:15px;}
}

/* ─── 768px : MOBILE ─── */
@media(max-width:768px){
  .fp{line-height:1.7;--r:14px;--r-sm:10px;--pad-x:16px;--pad-y:32px;}
  .fp-visuals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.fp-visual figcaption{left:8px;right:8px;bottom:8px;padding:7px 8px;font-size:11px;letter-spacing:.8px;}

  /* Blocs détachés : marge latérale unique */
  .fp-section.fp-showcase,
  .fp-section.fp-showcase.fp-gallery,
  .fp-section.fp-tech,
  .fp-nvidia,
  .fp-section.fp-briqueA-section,
  .fp-slider-container,
  .fp-trust{margin-left:var(--edge);margin-right:var(--edge);}
  .fp-closing{margin:var(--gap) var(--edge) 0;}

  /* Blocs pleine largeur : bordures latérales retirées */
  .fp-config{border-left:none;border-right:none;border-radius:0;}

  /* Hero */
  .fp-hero{padding:clamp(28px,7vw,40px) var(--pad-x);}
  .fp-hero-lead{border-left:none;padding-left:0;max-width:100%;}
  .fp-hero-media{max-width:260px;}
  .fp-tags{gap:8px;}
  .fp-tags li{padding:8px 14px;}

  /* Chiffres clés */
  .fp-stats{grid-template-columns:repeat(2,1fr);}
  .fp-stat{border-bottom:1px solid var(--border-dark);}
  .fp-stat:nth-child(2n){border-right:none;}
  .fp-stat:nth-last-child(-n+2):nth-child(odd),
  .fp-stat:last-child{border-bottom:none;}

  /* Section */
  .fp-section > img{padding:10px;}
  .fp-head{margin-bottom:24px;}

  /* Composant majeur */
  .fp-part::before{display:none;}
  .fp-part-head{padding:16px;gap:14px;flex-wrap:wrap;}
  .fp-part-logo{width:64px;padding:8px;}
  .fp-part-body{padding:20px 16px;}

  /* Synthèse */
  .fp-outcome-text,.fp-outcome-res{padding:22px 18px;}

  /* Powered by */
  .fp-powered-brand::before{display:none;}

  /* Cartes et usages */
  .fp-cards,.fp-usages{grid-template-columns:minmax(0,1fr);}
  .fp-card,.fp-usage{padding:26px 20px;align-items:flex-start;text-align:left;}
  .fp-card p,.fp-usage p{max-width:none;}
  .fp-card-icon,.fp-usage-icon{width:56px;height:56px;flex:0 0 56px;margin-bottom:18px;}

  /* Configuration */
  .fp-config-line,.fp-config-sum{grid-template-columns:minmax(0,1fr);gap:4px;padding:14px var(--pad-x);}
  .fp-config-label{font-size:12px;letter-spacing:.6px;}
  .fp-config-value{font-size:var(--fs-small);}
  .fp-config-cue{display:inline-flex;margin-left:8px;font-size:.8125rem;min-height:0;padding-bottom:2px;}
  .fp-config-panel{padding:14px var(--pad-x) 16px;}
  .fp-config-group-head{padding:14px var(--pad-x);}

  /* FAQ */
  .fp-faq{max-width:100%;}
  .fp-faq-summary{padding:14px 16px;min-height:56px;}
  .fp-faq-answer{padding:0 16px 16px;}

  /* Réassurance */
  .fp-trust{grid-template-columns:repeat(2,1fr);}
  .fp-trust li{border-bottom:1px solid var(--border-dark);}
  .fp-trust li:nth-child(2n){border-right:none;}
  .fp-trust li:nth-last-child(-n+2):nth-child(odd),
  .fp-trust li:last-child{border-bottom:none;}

  /* Clôture */
  .fp-closing-links{flex-direction:column;gap:14px;}

  /* Showcase et galerie */
  .fp-section.fp-showcase{padding:28px 18px;}
  .fp-section.fp-showcase.fp-gallery{padding:24px 18px 28px;}
  .fp-showcase-stage{aspect-ratio:4/3;}
  .fp-showcase-desc{margin-bottom:16px;}
  .fp-showcase-note{font-size:var(--fs-body);}
  .fp-gallery-grid{grid-template-columns:minmax(0,1fr);}

  /* Bloc NVIDIA */
  .fp-tech-top{text-align:center;gap:24px;padding-bottom:28px;}
  .fp-tech-highlights{text-align:left;}
  .fp-tech-grid{margin-bottom:32px;}
  .fp-nvidia-main-heading{margin:36px 0 20px;}

  /* Bannière RTX */
  .fp-rtx-hero{margin-bottom:28px;}
  .fp-rtx-bg-wrapper{aspect-ratio:4/3;max-height:none;}
  .fp-rtx-content{position:relative;transform:none;left:0;padding:20px 4px 0;background:#000;}
  .fp-rtx-overlay{
    background:linear-gradient(180deg,
      rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,1) 100%);
  }
  .fp-rtx-hero-desc{text-shadow:none;}

  /* Slider */
  .fp-slider-container{padding:16px;margin-bottom:32px;}
  .fp-slider-stage{aspect-ratio:4/3;}
  .fp-slider-dots{gap:6px;margin-top:12px;}
  .fp-slider-dot{width:36px;height:36px;}

  /* Brique A */
  .fp-section.fp-briqueA-section{padding:28px 18px;}
  .fp-briqueA,
  .fp-briqueA--split{grid-template-columns:minmax(0,1fr);}
  .fp-briqueA-card,
  .fp-briqueA-card.is-hero,
  .fp-briqueA--split > .is-hero{grid-column:auto;grid-row:auto;}
  .fp-briqueA-card{padding:28px 22px;}
  .fp-briqueA > .fp-briqueA-card:not(.is-hero),
  .fp-briqueA--split > .fp-briqueA-card:not(.is-hero){aspect-ratio:auto;min-height:0;}
  .fp-briqueA-card.is-hero{padding:30px 22px 0;}
  .fp-briqueA-card.is-hero .fp-briqueA-visual img,
  .fp-briqueA--split > .is-hero .fp-briqueA-visual img{max-width:100%;height:auto;width:100%;}
  .fp-briqueA-card.is-cover{padding:28px 22px;min-height:clamp(300px,72vw,420px);}
  .fp-briqueA-card.is-media{padding:28px 22px clamp(150px,36vw,210px);min-height:0;}
  .fp-briqueA-media{inset:auto 0 0 0;width:100%;height:58%;}
  .fp-briqueA-card.is-media::after{
    background:linear-gradient(180deg,
      var(--bA-veil) 0%,rgba(10,4,22,.92) 42%,rgba(10,4,22,0) 100%);
  }
}

/* ─── 576px ─── */
@media(max-width:576px){
  .fp-section.fp-tech,
  .fp-nvidia{padding:18px 14px;}

  .fp-tech-grid,
  .fp-nvidia-cards-grid{grid-template-columns:minmax(0,1fr);}

  /* Technologies en ligne : icône à gauche, texte à droite */
  .fp-tech-item{
    flex-direction:row;align-items:center;text-align:left;
    gap:16px;padding:16px;
  }
  .fp-tech-icon{margin:0;flex:0 0 40px;width:40px;height:40px;}
  .fp-tech-item h3{margin-bottom:4px;}

  .fp-nvidia-main-heading{font-size:1.4rem;margin:32px 0 20px;}
  .fp-nvidia-tag{padding:14px 14px 0;}
  .fp-nvidia-title{padding:6px 14px 0;}
  .fp-nvidia-desc{padding:6px 14px 14px;}

  .fp-slider-stage{aspect-ratio:1/1;}
  .fp-showcase-stage{aspect-ratio:1/1;}

  .fp-part-head{gap:12px;padding:14px;}
  .fp-part-logo{width:56px;padding:6px;}
  .fp-part-body{padding:18px 14px;}

  .fp-outcome-res-value{font-size:40px;}
}

/* ─── 420px ─── */
@media(max-width:420px){
  .fp-hero-title{font-size:30px;}
  .fp-hero-media{max-width:220px;}

  .fp-stats{grid-template-columns:1fr;}
  .fp-stat{border-right:none;border-bottom:1px solid var(--border-dark);}
  .fp-stat:last-child{border-bottom:none;}

  .fp-trust{grid-template-columns:1fr;}
  .fp-trust li{border-right:none;border-bottom:1px solid var(--border-dark);}
  .fp-trust li:last-child{border-bottom:none;}

  .fp-tags li{padding:7px 12px;}

  .fp-briqueA-card.is-row{flex-direction:column;text-align:center;gap:0;}
  .fp-briqueA-card.is-row .fp-briqueA-icon{margin:0 auto 12px;}
  .fp-briqueA-card{padding:24px 18px;}
  .fp-briqueA-card.is-hero{padding:26px 18px 0;}
  .fp-briqueA-card.is-cover,
  .fp-briqueA-card.is-media{padding-left:18px;padding-right:18px;}

  .fp-card,.fp-usage{padding:22px 18px;}
  .fp-section.fp-showcase,
  .fp-section.fp-briqueA-section{padding:22px 14px;}

  .fp-visuals{grid-template-columns:minmax(0,1fr);}
}

/* ─── 360px ─── */
@media(max-width:360px){
  .fp{--edge:10px;}
  .fp-hero-title{font-size:27px;}
  .fp-section-title{font-size:22px;}
  .fp-rtx-hero-title{font-size:19px;}
  .fp-nvidia-main-heading{font-size:1.25rem;}
  .fp-showcase-tab{padding:10px 14px;font-size:11px;}
}

/* ═══════ MOUVEMENT RÉDUIT ═══════ */
@media (prefers-reduced-motion: reduce){
  .fp *,.fp *::before,.fp *::after{transition-duration:.01ms !important;animation-duration:.01ms !important;}
  .fp-card:hover,.fp-usage:hover,.fp-briqueA-card:hover{transform:none;}
  .fp-slide,.fp-slider-dot::before{animation:none !important;}
  .fp-slide[data-sl="1"]{opacity:1;}
  .fp-slider-dot:nth-of-type(1)::before{background:var(--gold);}
}

/* ═══════ CONTRASTES ÉLEVÉS ═══════ */
@media (prefers-contrast: more){
  .fp{--border:#8a8a80;--muted:#333;--text-body:#0d0d0d;--on-dark:#fff;}
  .fp-hero-lead,.fp-outcome-text p,.fp-outcome-res-desc,.fp-trust span,
  .fp-card p,.fp-usage p,.fp-part-body p,.fp-part-tech li,
  .fp-tech-item p,.fp-tech-highlights p,.fp-nvidia-desc,
  .fp-briqueA-text{color:#fff;}
}

/* ═══════ IMPRESSION ═══════ */
@media print{
  .fp-config-row[open] .fp-config-panel,
  .fp-config-panel{display:block !important;}
  .fp-config-cue,.fp-faq-icon,.fp-showcase-tabs,.fp-slider-dots{display:none !important;}

  .fp-hero,.fp-stats,.fp-outcome,.fp-trust,.fp-closing,
  .fp-card,.fp-usage,.fp-part,.fp-part-head,
  .fp-section.fp-showcase,.fp-section.fp-showcase.fp-gallery,
  .fp-section.fp-tech,.fp-nvidia,.fp-tech-item,.fp-nvidia-card,
  .fp-slider-container,
  .fp-section.fp-briqueA-section,.fp-briqueA-card{
    background:#fff !important;color:#000 !important;border-color:#999 !important;
  }
  .fp-hero-title,.fp-stat-num,.fp-outcome-text h3,.fp-trust strong,
  .fp-card h3,.fp-usage h3,.fp-card p,.fp-usage p,
  .fp-part-name,.fp-part-lead,.fp-part-body p,.fp-part-tech li,
  .fp-tech-item h3,.fp-tech-item p,.fp-tech-highlights h3,.fp-tech-highlights p,
  .fp-nvidia-title,.fp-nvidia-desc,.fp-nvidia-main-heading,
  .fp-rtx-hero-title,.fp-rtx-hero-desc,.fp-rtx-tagline,
  .fp-showcase .fp-section-title,.fp-showcase .fp-section-sub,
  .fp-briqueA-section .fp-section-title,.fp-briqueA-section .fp-section-sub,
  .fp-briqueA-title,.fp-briqueA-text{color:#000 !important;}

  .fp-card-icon,.fp-usage-icon{background:#fff !important;}
  .fp-tech-icon{filter:none !important;}

  .fp-showcase-desc{display:block;}
  .fp-showcase-note{opacity:1 !important;visibility:visible !important;color:#000 !important;margin-bottom:8px;}

  .fp-slide{animation:none !important;position:static;opacity:1;height:auto;margin-bottom:10px;}
  .fp-slider-stage{aspect-ratio:auto;height:auto;}

  .fp-rtx-overlay{display:none !important;}
  .fp-rtx-content{position:static;transform:none;}

  .fp-briqueA,
  .fp-briqueA--split{grid-template-columns:minmax(0,1fr);}
  .fp-briqueA-card.is-hero,
  .fp-briqueA--split > .is-hero{grid-column:auto;grid-row:auto;}
  .fp-briqueA > .fp-briqueA-card:not(.is-hero){aspect-ratio:auto;}
  .fp-briqueA-card.is-media{padding-right:clamp(30px,2.2vw,42px);}
  .fp-briqueA-card.is-media::after,
  .fp-briqueA-card.is-cover::after{display:none !important;}
  .fp-briqueA-media,
  .fp-briqueA-cover{display:none !important;}
  
  .fp-visual{background:#fff !important;border-color:#999 !important;}
.fp-visual figcaption{position:static;background:#fff !important;color:#000 !important;border:none;}
}