
        body {
            background-color: #f9fafb;
            color: #111827;
            transition: background-color 0.3s, color 0.3s;
        }

        .dark body {
            background-color: #0B1221;
            color: #E7F2FF;
        }

        /* Spotlight Effect CSS */
        .spotlight-card {
            position: relative;
            overflow: hidden;
            border: 1px solid #e5e7eb;
            background-color: #ffffff;
            transition: border-color 0.5s, background-color 0.3s, transform 0.3s;
        }

        .dark .spotlight-card {
            border: 1px solid rgba(255, 255, 255, 0.1);
            background-color: #0f172a;
        }

        .spotlight-card:hover {
            border-color: rgba(16, 185, 129, 0.5);
        }

        .spotlight-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: radial-gradient(600px circle at var(--mouse-x, 0px) var(--mouse-y, 0px), rgba(16, 185, 129, 0.15), transparent 40%);
            opacity: 0;
            transition: opacity 0.3s;
            pointer-events: none;
            z-index: 10;
        }

        .spotlight-card:hover::before {
            opacity: 1;
        }

        /* Scrollbar */
        ::-webkit-scrollbar {
            width: 10px;
        }

        ::-webkit-scrollbar-track {
            background: #f1f5f9;
        }

        .dark ::-webkit-scrollbar-track {
            background: #0B1221;
        }

        ::-webkit-scrollbar-thumb {
            background: #10B981;
            border-radius: 5px;
        }
    
/* Coaching à distance : identité Raleway, corail et anthracite du site. */
.coaching { background: #ecfdf5; padding: clamp(48px, 7vw, 100px) 24px; scroll-margin-top: 90px; }
.coaching-inner { max-width: 1200px; margin: auto; }
.coaching-intro { display: grid; grid-template-columns: 1.25fr 1fr; gap: 56px; align-items: center; }
.coaching-kicker { color: #047857; font-size: 15px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 20px; }
.coaching h2 { color: #0b1221; font-size: clamp(38px, 5.3vw, 72px); line-height: 1.04; letter-spacing: -.045em; text-transform: uppercase; }
.coaching-subtitle { font-size: 26px; font-style: italic; margin: 22px 0; color: #047857; }
.coaching-description { font-size: 19px; line-height: 1.7; max-width: 48ch; }
.coaching-coach { margin-top: 28px; padding-left: 18px; border-left: 3px solid #10b981; line-height: 1.7; }
.coaching-coach strong { font-size: 20px; }
.coaching-photo { margin: 0; }
.coaching-photo img { display: block; width: 100%; height: 440px; object-fit: cover; border-radius: 12px; }
.coaching-photo figcaption { color: #515659; font-size: 13px; margin-top: 12px; }
.coaching-process { margin: 64px 0; }
.coaching h3 { font-size: clamp(25px, 3vw, 34px); color: #0b1221; margin-bottom: 26px; }
.coaching-steps { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.coaching-steps li { border-top: 1px solid #b8bcb0; padding-top: 20px; line-height: 1.65; }
.coaching-step-number { display: block; color: #047857; font-size: 15px; font-weight: 800; margin-bottom: 16px; }
.coaching-steps h4 { font-size: 19px; margin-bottom: 10px; }
.coaching-offers { display: grid; grid-template-columns: 1.35fr 1fr; gap: 24px; align-items: stretch; }
.coaching-offer { padding: clamp(24px, 4vw, 48px); border: 1px solid #cbd0bf; border-radius: 12px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; }
.coaching-offer--monthly { background: #0b1221; border-color: #0b1221; color: #fff; }
.coaching-offer--monthly h3, .coaching-offer--monthly p { color: #fff; }
.coaching-offer-label { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; margin-bottom: 16px; }
.coaching-offer h3 { margin-bottom: 14px; font-size: 27px; }
.coaching-price { font-size: 64px; font-weight: 800; letter-spacing: -.04em; line-height: 1.15; margin-bottom: 26px; }
.coaching-price span { font-size: 18px; font-weight: 500; letter-spacing: 0; }
.coaching-features { margin-bottom: 30px; width: 100%; }
.coaching-features li { padding: 13px 0 13px 25px; line-height: 1.6; border-top: 1px solid #ffffff30; position: relative; }
.coaching-features li::before { content: '✓'; position: absolute; left: 0; color: #6ee7b7; }
.coaching-offer > p:not(.coaching-price):not(.coaching-offer-label) { line-height: 1.7; }
.coaching-credit { margin: 28px 0; padding: 20px; background: #ecfdf5; border-left: 3px solid #10b981; }
.coaching-button { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 15px 22px; border-radius: 5px; background: #047857; color: #fff; text-decoration: none; font-weight: 700; line-height: 1.4; text-align: center; }
.coaching-offer .coaching-button { margin-top: auto; width: 100%; }
.coaching-button:hover { background: #065f46; }
.coaching-button:focus-visible, .coaching a:focus-visible { outline: 3px solid #10b981; outline-offset: 5px; }
.coaching-tagline { margin-top: 36px; font-size: clamp(21px, 3vw, 30px); font-weight: 700; text-align: center; line-height: 1.4; color: #0b1221; }
.coaching { border-block: 1px solid #a7f3d0; }
.coaching h2 { font-family: 'Outfit', sans-serif; font-weight: 700; }
.coaching-kicker { font-size: clamp(18px, 2vw, 24px); letter-spacing: .06em; }
.coaching h3, .coaching h4 { font-weight: 700; }
.coaching-photo img, .coaching-offer { border-radius: 24px; }
.coaching-button { border-radius: 999px; }
.coaching-description, .coaching-steps p, .coaching-features { font-family: 'Raleway', sans-serif; }
.coaching-steps, .coaching-features { list-style: none; padding: 0; }
.coaching-offer--monthly { background: #064e3b; border-color: #064e3b; }
.coaching-offer--monthly .coaching-button { background: #d1fae5; color: #064e3b; }
.coaching-offer--monthly .coaching-button:hover { background: #a7f3d0; }
.dark .coaching { background: #0b1c22; border-color: #164e3f; color: #e7f2ff; }
.dark .coaching h2, .dark .coaching h3, .dark .coaching-tagline { color: #fff; }
.dark .coaching-kicker, .dark .coaching-subtitle, .dark .coaching-step-number { color: #6ee7b7; }
.dark .coaching-photo figcaption { color: #a9bec1; }
.dark .coaching-offer:not(.coaching-offer--monthly) { background: #0f172a; border-color: #334155; }
.dark .coaching-credit { background: #13382e; }
.coaching-price { font-variant-numeric: tabular-nums; }
a:focus-visible, button:focus-visible { outline: 3px solid #10b981; outline-offset: 4px; }
section[id] { scroll-margin-top: 90px; }
#navbar.is-scrolled { background: rgba(255,255,255,.96); padding-block: .5rem; border-color: #e5e7eb; }
.dark #navbar.is-scrolled { background: rgba(11,18,33,.97); border-color: #253443; }
#scroll-to-top.is-visible { visibility: visible; opacity: 1; transform: none; }
#mobile-menu { overflow-y: auto; }
#mobile-menu.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
#mobile-menu.is-open .mobile-link, #mobile-menu.is-open .mobile-socials, #mobile-menu.is-open .mobile-cta { opacity: 1; transform: none; }
[data-aos] { opacity: 1 !important; transform: none !important; }
@media (min-width: 768px) and (max-width: 1023px) {
  #navbar .hidden.md\:flex { display: none; }
  #navbar .md\:hidden { display: flex; }
}
@media (max-width: 1023px) {
  #mobile-menu > div { gap: 16px; padding: 100px 20px 30px; margin-block: auto; }
  #mobile-menu { justify-content: flex-start; }
  #mobile-menu > div > * { margin-top: 0; }
  #mobile-menu .mobile-link { font-size: 24px; }
  #mobile-menu .mobile-socials { padding-top: 10px; }
}
@media (max-width: 800px) {
  .coaching-intro, .coaching-offers { grid-template-columns: 1fr; }
  .coaching-intro { gap: 32px; }
  .coaching-photo img { height: 360px; object-position: center 35%; }
  .coaching-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  #accueil h1 { font-size: clamp(36px, 10vw, 48px); }
  #accueil { min-height: 760px; height: 100svh; }
  #contact .p-12 { padding: 24px; }
  #contact a { overflow-wrap: anywhere; }
  .coaching { padding: 52px 20px; }
  .coaching-steps { grid-template-columns: 1fr; }
  .coaching-photo img { height: 310px; }
  .coaching-process { margin-block: 44px; }
  #cookie-banner { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .bg-fixed { background-attachment: scroll; }
}

.coaching-photo img { object-position: center top; }
