:root {
  --bg: #09090b;
  --bg-soft: #111113;
  --card: #17171a;
  --line: rgba(255,255,255,.12);
  --text: #f5f5f6;
  --muted: #b9b9bf;
  --red: #ff1738;
  --red-dark: #b4001d;
  --white: #ffffff;
  --shadow: 0 24px 60px rgba(0,0,0,.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'DM Sans', system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.topline {
  position: fixed;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--red), transparent);
  z-index: 80;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 6%;
  background: rgba(10,10,12,.82);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(16px);
}
.brand-image { width: clamp(120px, 15vw, 165px); }
.nav {
  display: flex;
  align-items: center;
  gap: 28px;
}
.nav a,
.insta {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.8px;
}
.nav a:hover,
.insta:hover { color: var(--red); }
.header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.menu-toggle {
  display: none;
  border: 0;
  background: transparent;
  color: white;
  font-size: 29px;
  cursor: pointer;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 22px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-red {
  background: var(--red);
  color: white;
  border: 1px solid var(--red);
}
.btn-outline {
  background: transparent;
  color: white;
  border: 1px solid rgba(255,255,255,.28);
}
.btn-white {
  background: white;
  color: #121214;
  border: 1px solid white;
}

.hero {
  position: relative;
  min-height: min(100vh, 980px);
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background: radial-gradient(circle at 78% 30%, rgba(255,23,56,.18), transparent 26%), #070709;
}
.hero-image {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,8,10,.92) 0%, rgba(8,8,10,.76) 38%, rgba(8,8,10,.28) 70%, rgba(8,8,10,.7) 100%),
    linear-gradient(0deg, rgba(8,8,10,.85) 0%, rgba(8,8,10,.1) 40%, rgba(8,8,10,.52) 100%),
    url('assets/hyrox-hero.webp') center 18% / cover no-repeat;
}
.hero-grain {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 3px 3px;
  opacity: .08;
}
.hero-inner {
  position: relative;
  z-index: 2;
  width: min(740px, 100%);
  padding: 110px 6% 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.eyebrow,
.kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--muted);
}
.pulse {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 0 0 rgba(255,23,56,.5);
  animation: pulse 1.8s infinite;
}
.eyebrow-line {
  display: inline-block;
  width: 30px;
  height: 1px;
  background: rgba(255,255,255,.32);
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(255,23,56,.55); }
  70% { box-shadow: 0 0 0 12px rgba(255,23,56,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,23,56,0); }
}
.hero h1 {
  margin: 22px 0 18px;
  font: 900 clamp(66px, 11vw, 130px)/.88 'Barlow Condensed', sans-serif;
  letter-spacing: -2px;
}
.hero h1 em { color: var(--red); font-style: normal; }
.hero-desc {
  max-width: 540px;
  font-size: 15px;
  line-height: 1.85;
  color: #dddde1;
  margin: 0 0 34px;
}
.hero-desc strong { color: white; }
.hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 72px;
}
.hero-footer {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #c8c8ce;
}
.hero-footer b { color: var(--red); margin-right: 6px; }
.hero-decoration {
  position: absolute;
  right: 4%;
  bottom: 5%;
  z-index: 1;
  font: 900 clamp(72px, 10vw, 146px)/1 'Barlow Condensed', sans-serif;
  color: rgba(255,255,255,.05);
  letter-spacing: 4px;
  transform: rotate(-90deg) translateY(-20px);
  transform-origin: right bottom;
}
.vertical-word {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  writing-mode: vertical-rl;
  font-size: 10px;
  letter-spacing: 3px;
  color: rgba(255,255,255,.28);
  z-index: 2;
}

.ticker {
  overflow: hidden;
  white-space: nowrap;
  background: var(--red);
  color: #11070a;
  height: 54px;
  display: flex;
  align-items: center;
}
.ticker-content {
  min-width: max-content;
  font: 800 19px 'Barlow Condensed', sans-serif;
  letter-spacing: 2px;
  animation: marquee 28s linear infinite;
}
.ticker span { padding: 0 20px; color: #32020a; }
@keyframes marquee { to { transform: translateX(-50%); } }

.section,
.story-section {
  padding: 105px 8%;
}
.section { scroll-margin-top: 86px; }
.section-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 46px;
}
.section h2,
.story-copy h2,
.prices-heading h2,
.method-heading h2 {
  font: 900 clamp(54px, 7vw, 100px)/.92 'Barlow Condensed', sans-serif;
  letter-spacing: -1px;
  margin: 16px 0 0;
}
.section h2 span,
.story-copy h2 span,
.prices-heading h2 span,
.method-heading h2 span { color: var(--red); }
.intro-side {
  max-width: 360px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.9;
}

.expertise-grid,
.price-grid,
.proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.discipline {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  background: var(--card);
  border: 1px solid #29292e;
}
.disc-num {
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 2;
  font-size: 10px;
  letter-spacing: 2px;
  font-weight: 800;
}
.disc-photo {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform .5s ease, filter .5s ease;
  filter: grayscale(.12) contrast(1.05) brightness(.58);
}
.discipline:hover .disc-photo {
  transform: scale(1.05);
  filter: grayscale(0) contrast(1.06) brightness(.76);
}
.photo-strength {
  background-image: linear-gradient(0deg, rgba(8,8,10,.95) 2%, rgba(8,8,10,.25) 65%), url('assets/basket.webp');
}
.photo-hyrox {
  background-image: linear-gradient(0deg, rgba(8,8,10,.95) 2%, rgba(8,8,10,.22) 62%), url('assets/hyrox-hero.webp');
}
.photo-running {
  background-image: linear-gradient(0deg, rgba(8,8,10,.95) 2%, rgba(8,8,10,.28) 62%), url('assets/run.webp');
}
.disc-info {
  position: absolute;
  left: 26px;
  right: 24px;
  bottom: 24px;
  z-index: 3;
}
.disc-info h3 {
  margin: 0 0 14px;
  font: 900 48px/.92 'Barlow Condensed', sans-serif;
}
.disc-info p {
  margin: 0 0 18px;
  min-height: 68px;
  color: #dfdfe4;
  font-size: 12px;
  line-height: 1.8;
}
.disc-info a {
  color: #ff6176;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
}

.photo-strip {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1.1fr 1.1fr .9fr;
  gap: 18px;
}
.photo-tile {
  position: relative;
  min-height: 260px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background: #101012;
}
.photo-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.03);
  transition: transform .45s ease;
}
.photo-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(5,5,6,.84), rgba(5,5,6,.12) 55%, rgba(5,5,6,.05));
}
.photo-tile span {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  font: 800 12px/1.4 'DM Sans', sans-serif;
  letter-spacing: 1px;
}
.photo-tile:hover img { transform: scale(1.04); }

.story-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
  gap: 40px;
  align-items: center;
  background: linear-gradient(180deg, #0f0f11, #121214);
}
.story-photo {
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow);
}
.story-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.story-copy p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.9;
}
.story-copy .btn { margin-top: 12px; }

.method {
  background: #0d0d0f;
}
.method-heading,
.prices-heading {
  margin-bottom: 42px;
}
.method-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line);
  margin-bottom: 24px;
}
.method-card {
  min-height: 280px;
  padding: 34px;
  border-right: 1px solid var(--line);
  background: rgba(255,255,255,.01);
}
.method-card:last-child { border-right: 0; }
.method-card > span {
  color: var(--red);
  font-size: 11px;
  letter-spacing: 2px;
  font-weight: 800;
}
.method-icon {
  margin: 20px 0;
  font: 400 52px 'Barlow Condensed', sans-serif;
  color: var(--red);
}
.method-card h3 {
  margin: 0 0 10px;
  font: 800 28px 'Barlow Condensed', sans-serif;
  letter-spacing: .3px;
}
.method-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.9;
}
.proof-card {
  background: #141417;
  border: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}
.proof-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.proof-copy {
  padding: 22px;
}
.proof-copy span {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.8px;
}
.proof-copy h3 {
  margin: 0 0 10px;
  font: 800 30px/.95 'Barlow Condensed', sans-serif;
}
.proof-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
}

.prices {
  background: #080809;
}
.prices-heading {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
}
.prices-heading > p:last-child {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.9;
}
.price-card {
  position: relative;
  min-height: 620px;
  display: flex;
  flex-direction: column;
  padding: 31px 26px;
  background: #151517;
  border: 1px solid #36363a;
}
.price-card.featured {
  background: linear-gradient(160deg, #280d13, #131316 60%);
  border-color: var(--red);
}
.featured-label {
  position: absolute;
  top: -15px;
  left: 22px;
  background: var(--red);
  color: white;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 8px 13px;
}
.card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #a4a4ab;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.7px;
}
.plan-arrow {
  font-size: 22px;
  color: var(--red);
}
.price-card h3 {
  margin: 24px 0 10px;
  min-height: 82px;
  font: 900 42px/.92 'Barlow Condensed', sans-serif;
}
.plan-lead {
  margin: 0 0 28px;
  color: var(--muted);
  font-size: 12px;
}
.price {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.price strong {
  font: 900 68px 'Barlow Condensed', sans-serif;
  letter-spacing: -1px;
}
.price span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: #93939a;
}
.card-line {
  height: 1px;
  background: rgba(255,255,255,.16);
  margin: 22px 0;
}
.price-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  flex: 1;
}
.price-card li {
  position: relative;
  padding: 10px 0 10px 20px;
  color: #c7c7cc;
  font-size: 12px;
  line-height: 1.55;
}
.price-card li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--red);
  font-weight: 900;
}
.price-card li b { color: white; }
.btn-plan {
  width: 100%;
  background: #26262a;
  color: white;
  border: 1px solid #44444a;
}
.featured .btn-plan {
  background: var(--red);
  border-color: var(--red);
}
.prices-note {
  max-width: 860px;
  margin: 26px auto 60px;
  text-align: center;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.85;
}
.oneoffs {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: 20px;
  align-items: center;
  padding-top: 32px;
  border-top: 1px solid var(--line);
}
.oneoffs-title span {
  color: var(--red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.6px;
}
.oneoffs-title h3 {
  margin: 8px 0 0;
  font: 900 48px/.92 'Barlow Condensed', sans-serif;
}
.oneoff {
  min-height: 120px;
  background: #161618;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 12px;
  padding: 16px;
}
.oneoff > span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
}
.oneoff strong {
  font: 900 38px 'Barlow Condensed', sans-serif;
}
.mini-btn {
  color: var(--red);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1px;
}

.big-cta {
  position: relative;
  overflow: hidden;
  scroll-margin-top: 80px;
  padding: 115px 20px 120px;
  text-align: center;
  background: radial-gradient(ellipse at 50% 110%, #7a1022, #21090e 46%, #100d0e 82%);
}
.cta-halo {
  position: absolute;
  inset: auto 50% -240px;
  width: 760px;
  height: 760px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.10), transparent 60%);
  transform: translateX(-50%);
  pointer-events: none;
}
.big-cta h2 {
  position: relative;
  z-index: 1;
  margin: 26px auto;
  max-width: 1100px;
  font: 900 clamp(68px, 9vw, 128px)/.86 'Barlow Condensed', sans-serif;
  letter-spacing: -1.8px;
}
.big-cta h2 em { color: var(--red); font-style: normal; }
.big-cta > p:not(.kicker) {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0 auto 24px;
  color: #cfccd0;
  font-size: 14px;
  line-height: 1.85;
}
.selected-offer {
  position: relative;
  z-index: 1;
  margin: 28px 0 22px;
  font-size: 11px;
  letter-spacing: 1px;
  color: #b6a9ae;
}
.selected-offer strong { color: white; }
.cta-actions {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 13px;
  flex-wrap: wrap;
}
.cta-footnote {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 18px;
  color: #b4a8ac;
  font-size: 10px;
}

.footer-main {
  padding: 52px 8%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid var(--line);
}
.footer-logo img { width: clamp(130px, 18vw, 190px); }
.footer-main > div span {
  color: var(--red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
}
.footer-main > div p {
  margin: 10px 0 0;
  font: 800 28px 'Barlow Condensed', sans-serif;
}
.footer-main > a:last-child {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.4px;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  padding: 18px 8%;
  color: #8c8c92;
  font-size: 10px;
  letter-spacing: 1px;
}

.floating-contact {
  position: fixed;
  right: 22px;
  bottom: 24px;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 15px 20px;
  border-radius: 999px;
  background: var(--red);
  color: white;
  box-shadow: 0 12px 30px rgba(0,0,0,.45);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1px;
}
.floating-contact:first-letter { font-size: 20px; }

@media (max-width: 1100px) {
  .section,
  .story-section { padding: 90px 6%; }
  .site-header { padding-inline: 5%; }
  .hero-inner { padding-inline: 6%; }
  .price-card { min-height: auto; }
  .oneoffs { grid-template-columns: 1fr 1fr; }
  .oneoffs-title { grid-column: 1 / -1; }
  .story-section { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .site-header { gap: 10px; }
  .header-cta { display: none; }
  .menu-toggle { display: block; }
  .nav {
    display: none;
    position: absolute;
    top: 72px;
    left: 0;
    right: 0;
    background: #141416;
    padding: 24px 5%;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    border-bottom: 1px solid var(--red);
  }
  .nav.open { display: flex; }
  .nav a { font-size: 14px; }
  .insta { font-size: 11px; }
  .hero { min-height: 700px; }
  .hero-image {
    background-position: 62% 12%;
    background-size: cover;
  }
  .hero-inner {
    width: 100%;
    padding: 72px 6% 40px;
  }
  .hero h1 { font-size: clamp(66px, 17vw, 96px); }
  .hero-desc { font-size: 13px; }
  .hero-footer { gap: 12px; font-size: 9px; }
  .hero-decoration,
  .vertical-word { display: none; }
  .section-top { display: block; }
  .intro-side { max-width: none; margin-top: 18px; }
  .expertise-grid,
  .proof-grid,
  .price-grid,
  .photo-strip,
  .method-grid,
  .oneoffs { grid-template-columns: 1fr; }
  .discipline { min-height: 480px; }
  .method-grid { border: 1px solid var(--line); }
  .method-card { border-right: 0; border-bottom: 1px solid var(--line); min-height: 220px; }
  .method-card:last-child { border-bottom: 0; }
  .prices-heading { text-align: left; }
  .price-card { padding: 30px 24px; }
  .price-card h3 { min-height: auto; }
  .oneoff { justify-content: space-between; }
  .big-cta h2 { font-size: clamp(60px, 15vw, 100px); }
  .cta-actions { flex-direction: column; align-items: center; }
  .cta-actions .btn { width: min(360px, 100%); }
  .footer-main {
    flex-direction: column;
    align-items: flex-start;
  }
  .floating-contact span { display: none; }
  .floating-contact { padding: 13px 16px; }
  .eyebrow, .kicker { font-size: 9px; gap: 8px; }
  .eyebrow-line { width: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; animation: none !important; }
}

/* Editorial adjustments requested */
.disc-info h3 {font-size:clamp(29px, 2.65vw, 44px);line-height:1.05;letter-spacing:-.4px;overflow-wrap:normal;word-break:normal;}
.disc-info h3 {text-wrap:balance;}
.disc-info h3:first-line {white-space:normal;}
@media (min-width:1000px){.disc-info h3 {font-size:clamp(29px,2.45vw,39px); white-space:nowrap;letter-spacing:-1.2px;}}
@media (max-width:999px){.disc-info h3 {font-size:clamp(25px,6vw,40px);white-space:normal;}}
.photo-hyrox {background-position:48% center;}
/* Preserve natural word boundaries across the site */
h1,h2,h3 {word-break:normal;overflow-wrap:normal;}

/* Raffinements : en-tête plus fin et photos intégrées à la méthode */
.site-header { padding-top: 7px; padding-bottom: 7px; }
.brand-image { width: clamp(95px, 11vw, 126px); }
.keep-together { white-space: nowrap; }
.method-card { padding: 0 0 28px; overflow: hidden; min-width: 0; }
.method-card > span { display:block; margin: 25px 26px 14px; }
.method-photo { width: 100%; aspect-ratio: 1.48; overflow: hidden; background: #17171a; }
.method-photo img { width:100%; height:100%; object-fit:cover; filter: contrast(1.06) saturate(.85); transition:transform .4s; }
.method-card:hover .method-photo img { transform:scale(1.04); }
.method-card:nth-child(2) .method-photo img { object-position: center 27%; }
.method-icon { display:none; }
.method-card h3 { margin: 23px 26px 9px; }
.method-card p { margin: 0 26px; }
@media (max-width: 840px) { .site-header { padding-top:8px; padding-bottom:8px; } .brand-image{width:105px} }
@media (max-width: 380px) { .eyebrow {font-size:9px;letter-spacing:.6px;gap:5px;} .disc-info h3 {font-size:27px;} }

/* Titre principal : strictement deux lignes, sans coupure de mots */
.hero h1 .hero-title-line { display:block; white-space:nowrap; }
.hero h1 {font-size:clamp(35px, 6.2vw, 94px);letter-spacing:-.015em;}
@media(max-width:760px){ .hero h1 {font-size:clamp(31px, 7.8vw, 60px);letter-spacing:-.025em;} }
@media(max-width:390px){ .hero h1 {font-size:7.35vw;} }

/* TMB COLLECTIVE : ajout isolé sans modifier les trois formules existantes */
.collective-offer{margin:32px auto 0; max-width:1200px; padding:32px 36px 36px; border:1px solid #9f2333; background:linear-gradient(110deg,#210b11 0%,#111114 55%,#171719 100%);color:#fff}
.collective-heading{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #454047;padding-bottom:18px;font-size:10px;font-weight:800;letter-spacing:1.8px;color:#c5c0c2}
.collective-heading span:first-child,.collective-kicker{color:#ff314b}
.collective-body{display:grid;grid-template-columns:1.04fr 1fr;gap:60px;padding-top:30px}
.collective-kicker{font-size:10px;font-weight:900;letter-spacing:2px;margin:0 0 16px}
.collective-intro h3{font:900 clamp(46px,6vw,79px)/.98 'Barlow Condensed',sans-serif;letter-spacing:-1px;margin:0 0 16px}
.collective-intro h3 em{font-style:normal;color:#ff3049}
.collective-intro>p:not(.collective-kicker){color:#c9c9cd;line-height:1.8;max-width:390px;font-size:14px}
.collective-price{display:inline-block;font:900 32px 'Barlow Condensed',sans-serif;margin-top:18px;letter-spacing:1px}
.collective-details>div{padding:0 0 13px;margin:0 0 13px;border-bottom:1px solid #424047}
.collective-details b{font-size:12px;letter-spacing:1.3px}
.collective-details p{margin:7px 0 0;color:#c2c2c8;font-size:12px;line-height:1.65}
.collective-contact{display:inline-flex;margin-top:10px;max-width:100%;text-align:center}
@media(max-width:740px){.collective-offer{padding:25px 22px}.collective-heading{flex-direction:column;gap:7px}.collective-body{grid-template-columns:1fr;gap:27px}.collective-intro h3{font-size:55px}}

/* Offre premium TMB ATHLETICS */
.price-card.premium { border-color: rgba(255,23,56,.75); background: linear-gradient(160deg,#211115 0%,#17171a 60%); box-shadow: 0 18px 54px rgba(255,23,56,.13); }
.premium-label { background:#ff1738; color:#fff; font-size:10px; font-weight:900; letter-spacing:1.5px; padding:9px 15px; margin:-24px -24px 22px; text-align:center; }
.price-card.premium .btn-plan { background:#ff1738; color:#fff; border-color:#ff1738; }


/* Présentation de Livio Tomba — ajout indépendant du design existant */
.about-coach{background:#101013;color:#f5f5f5;padding:92px max(5vw,22px);scroll-margin-top:90px;border-bottom:1px solid #252528}
.about-coach-container{max-width:1240px;margin:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(35px,5vw,90px);align-items:center}
.about-coach .kicker{color:#ff3049;margin:0 0 20px}
.about-coach h2{font:900 clamp(40px,5vw,72px)/.99 'Barlow Condensed',sans-serif;letter-spacing:-.018em;margin:0 0 27px;max-width:800px}
.about-coach h2 span{color:#ff3049}
.about-coach-copy>p:not(.kicker){font:400 14px/1.85 'DM Sans',sans-serif;color:#bdbdc3;margin:0 0 17px;max-width:690px}
.about-coach-copy>p.about-lead{font-size:16px;color:#ededed}
.about-coach-copy strong{color:white;font-weight:700}
.about-coach-link{margin-top:15px;display:inline-flex;gap:15px;align-items:center;text-decoration:none;color:white;font-size:11px;font-weight:800;letter-spacing:1.25px;border-bottom:2px solid #ff3049;padding-bottom:10px}
.about-coach-link span{color:#ff3049;font-size:20px}
.about-coach-side{min-width:0}
.about-coach-image{height:260px;overflow:hidden;background:#222}
.about-coach-image img{width:100%;height:100%;object-fit:cover;object-position:center 34%;filter:contrast(1.12) saturate(.7)}
.about-coach-records{background:#17171b;border:1px solid #333338;border-top:3px solid #ff3049;padding:22px 23px 20px}
.about-coach-record-intro{font-size:10px;font-weight:800;letter-spacing:1.3px;color:#ff475d;margin-bottom:16px}
.about-coach-honours{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:18px;font-size:10px;line-height:1.5;color:#bdbdc3}
.about-coach-honours b{color:#fff}
.about-coach-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 9px;border-top:1px solid #39393e;padding-top:17px}
.about-coach-times>div{display:flex;flex-direction:column;gap:4px}
.about-coach-times b{font:800 clamp(23px,2.35vw,35px)/1 'Barlow Condensed',sans-serif;color:#fff;white-space:nowrap}
.about-coach-times span{font-size:9px;font-weight:800;letter-spacing:.7px;color:#aaaab0}
@media(max-width:850px){.about-coach{padding:62px 6vw}.about-coach-container{grid-template-columns:1fr;gap:36px}.about-coach-side{display:grid;grid-template-columns:1fr 1.12fr}.about-coach-image{height:100%;min-height:260px}.about-coach-records{border-top:1px solid #333338;border-left:3px solid #ff3049}.about-coach-times{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.about-coach{padding:54px 20px}.about-coach h2{font-size:43px}.about-coach-side{display:block}.about-coach-image{height:240px}.about-coach-records{border-left:1px solid #333338;border-top:3px solid #ff3049}.about-coach-times{grid-template-columns:repeat(3,minmax(0,1fr))}.about-coach-times b{font-size:27px}.about-coach-copy>p.about-lead{font-size:15px}}
