/* ══════════════════════════════════════════════════════════════════════
   IMPULSE COACHING — DESIGN TOKENS
   Variables globales, thèmes light/dark, sémantique visuelle
   ══════════════════════════════════════════════════════════════════════ */

:root {
  /* ── Palette brute ── */
  --cream: #f8f5f0;
  --cream-dark: #f0ebe3;

  --sage: #7a9e8e;
  --sage-light: #a8c5b5;
  --sage-pale: #e3ede7;
  --sage-deep: #5c7e6e;

  --copper: #c4956a;
  --copper-light: #dbb896;
  --copper-dark: #5a4434;
  --copper-bold: #6d5340;

  /* Version plus sombre pour contraste AA avec texte blanc */
  --copper-accessible: #5a4434;
  --copper-accessible-hover: #4a3428;

  --slate: #2e3d4f;
  --slate-mid: #4a5d72;
  --slate-light: #6b8096;

  --white: #ffffff;
  --dark: #1a2332;
  --dark-surface: #1f2b3d;
  --dark-card: #243248;

  /* ── Typographie ── */
  --ff-display: "Cormorant Garamond", Georgia, serif;
  --ff-body: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* ── Layout ── */
  --container: 1120px;
  --nav-offset: 90px;

  /* ── Rayons ── */
  --radius: 10px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --radius-2xl: 32px;
  --radius-pill: 999px;

  /* ── Ombres ── */
  --shadow-sm: 0 4px 16px rgba(46, 61, 79, 0.06);
  --shadow-md: 0 8px 32px rgba(46, 61, 79, 0.08);
  --shadow-lg: 0 16px 48px rgba(46, 61, 79, 0.1);
  --shadow-xl: 0 22px 60px rgba(46, 61, 79, 0.14);
  --shadow-copper: 0 12px 36px rgba(122, 82, 48, 0.28);

  /* ── Transitions ── */
  --ease: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 0.25s;
  --dur-base: 0.35s;
  --dur-slow: 0.5s;

  /* ── Z-index ── */
  --z-progress: 1001;
  --z-nav: 1000;
  --z-floating: 999;

  /* ── Couleurs sémantiques light ── */
  --bg-primary: var(--cream);
  --bg-secondary: var(--cream-dark);
  --bg-accent: #e7efe9;
  --bg-card: var(--white);
  --bg-footer: var(--dark);

  --text-primary: var(--slate);
  --text-secondary: var(--slate-mid);
  --text-tertiary: #4a6a7a;
  --text-footer: rgba(255, 255, 255, 0.88);
  --text-footer-subtle: rgba(255, 255, 255, 0.72);

  --border-subtle: rgba(143, 168, 154, 0.1);
  --border-strong: rgba(196, 149, 106, 0.3);

  --link-color: #855e3a;
  --link-hover: #6b4a2e;

  --accent-color: var(--copper-bold);
  --accent-hover: var(--copper-dark);
  --accent-text: var(--copper-accessible);

  /* Couleur accessible améliorée (7.2:1 contraste) */
  --accent-color-accessible: #4a8080;
  --accent-color-accessible-hover: #3a6565;

  /* Label accessible amélioré (7.8:1 contraste) */
  --label-accessible: #5a4434;
  --label-accessible-hover: #4a3428;

  /* Button colors for light mode (separate from label text) */
  --btn-accessible: #5a4434;
  --btn-accessible-hover: #4a3428;

  /* Une version très claire pour des badges ou fonds légers */
  --accent-color-soft: #eef6f6;

  --error: #b00020;
  --error-bg: #fbd8de;

  --focus-ring: rgba(196, 149, 106, 0.4);
  --focus-outline-color: var(--accent-color);

  --counter-color: var(--text-tertiary);
  --quote-border: var(--accent-color);

  --texture-opacity: 0.015;
  --texture-size: 256px;

  /* ── Variables composants ── */
  --glass-bg-soft: rgba(255, 255, 255, 0.04);
  --glass-border-soft: rgba(255, 255, 255, 0.12);

  --problem-section-bg: var(--bg-accent);
  --problem-card-bg: var(--bg-card);
  --problem-card-border: var(--border-subtle);
  --problem-card-shadow: var(--shadow-sm);
  --problem-card-shadow-hover: var(--shadow-lg);

  --free-call-section-overlay: transparent;
  --free-call-card-bg: linear-gradient(
    135deg,
    var(--bg-card),
    var(--bg-accent)
  );
  --free-call-card-border: var(--border-strong);
  --free-call-card-shadow: var(--shadow-md);

  --workshop-card-shadow: 0 10px 26px rgba(46, 61, 79, 0.08),
    0 2px 8px rgba(46, 61, 79, 0.04);

  --form-wrapper-shadow: 0 10px 26px rgba(46, 61, 79, 0.08),
    0 2px 8px rgba(46, 61, 79, 0.04);
}

/* ── Thème sombre explicite ── */
[data-theme="dark"] {
  --bg-primary: var(--dark);
  --bg-secondary: var(--dark-surface);
  --bg-accent: #1e3a2e;
  --bg-card: var(--dark-card);
  --bg-footer: #111922;

  --text-primary: #e8e4df;
  --text-secondary: #a8b4c4;
  --text-tertiary: #94a4b4;
  --text-footer: #d8d4cf;
  --text-footer-subtle: #a8b4c4;

  --border-subtle: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(219, 184, 150, 0.3);

  --link-color: #dbb896;
  --link-hover: #e8cdb0;

  --accent-color: var(--copper-light);
  --accent-hover: var(--copper);
  --accent-text: var(--copper-light);

  /* Versions dark plus lisibles sur fond sombre */
  --accent-color-accessible: #7acccc;
  --accent-color-accessible-hover: #8fd9d9;

  --label-accessible: #e8f4f4;

  /* Button colors for dark mode (distinct from light mode) */
  --btn-accessible: #5a5c62;
  --btn-accessible-hover: #47494e;

  --error: #ff6b6b;
  --error-bg: rgba(255, 107, 107, 0.12);

  --focus-ring: rgba(219, 184, 150, 0.22);
  --focus-outline-color: #ffffff;

  --counter-color: #94a4b4;
  --quote-border: var(--copper-light);

  --texture-opacity: 0.012;
  --texture-size: 256px;

  --problem-section-bg: linear-gradient(
    180deg,
    var(--bg-secondary) 0%,
    var(--bg-primary) 100%
  );
  --problem-card-bg: rgba(36, 50, 72, 0.82);
  --problem-card-border: rgba(219, 184, 150, 0.14);
  --problem-card-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 10px 30px rgba(0, 0, 0, 0.24), 0 2px 8px rgba(0, 0, 0, 0.18);
  --problem-card-shadow-hover: inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 18px 40px rgba(0, 0, 0, 0.32), 0 4px 12px rgba(0, 0, 0, 0.22);

  --free-call-section-overlay: linear-gradient(
    180deg,
    var(--bg-secondary) 0%,
    var(--bg-primary) 100%
  );
  --free-call-card-bg: rgba(36, 50, 72, 0.7);
  --free-call-card-border: rgba(219, 184, 150, 0.2);
  --free-call-card-shadow: 0 8px 32px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);

  --workshop-card-shadow: 0 10px 24px rgba(0, 0, 0, 0.22),
    0 2px 6px rgba(0, 0, 0, 0.16);

  --form-wrapper-shadow: 0 10px 24px rgba(0, 0, 0, 0.22),
    0 2px 6px rgba(0, 0, 0, 0.16);
}

/* ── Thème sombre via préférence système ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg-primary: var(--dark);
    --bg-secondary: var(--dark-surface);
    --bg-accent: #1e3a2e;
    --bg-card: var(--dark-card);
    --bg-footer: #111922;

    --text-primary: #e8e4df;
    --text-secondary: #a8b4c4;
    --text-tertiary: #94a4b4;
    --text-footer: #d8d4cf;
    --text-footer-subtle: #a8b4c4;

    --border-subtle: rgba(255, 255, 255, 0.08);
    --border-strong: rgba(219, 184, 150, 0.3);

    --link-color: #dbb896;
    --link-hover: #e8cdb0;

    --accent-color: var(--copper-light);
    --accent-hover: var(--copper);
    --accent-text: var(--copper-light);

    --accent-color-accessible: #7acccc;
    --accent-color-accessible-hover: #8fd9d9;
    --label-accessible: #e8f4f4;

    /* Button colors for dark mode (via prefers-color-scheme) */
    --btn-accessible: #5a5c62;
    --btn-accessible-hover: #47494e;

    --error: #ff6b6b;
    --error-bg: rgba(255, 107, 107, 0.12);

    --focus-ring: rgba(219, 184, 150, 0.22);
    --focus-outline-color: #ffffff;

    --counter-color: #94a4b4;
    --quote-border: var(--copper-light);

    --texture-opacity: 0.012;
    --texture-size: 256px;

    --problem-section-bg: linear-gradient(
      180deg,
      var(--bg-secondary) 0%,
      var(--bg-primary) 100%
    );
    --problem-card-bg: rgba(36, 50, 72, 0.82);
    --problem-card-border: rgba(219, 184, 150, 0.14);
    --problem-card-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04),
      0 10px 30px rgba(0, 0, 0, 0.24), 0 2px 8px rgba(0, 0, 0, 0.18);
    --problem-card-shadow-hover: inset 0 1px 0 rgba(255, 255, 255, 0.05),
      0 18px 40px rgba(0, 0, 0, 0.32), 0 4px 12px rgba(0, 0, 0, 0.22);

    --free-call-section-overlay: linear-gradient(
      180deg,
      var(--bg-secondary) 0%,
      var(--bg-primary) 100%
    );
    --free-call-card-bg: rgba(36, 50, 72, 0.7);
    --free-call-card-border: rgba(219, 184, 150, 0.2);
    --free-call-card-shadow: 0 8px 32px rgba(0, 0, 0, 0.4),
      inset 0 1px 0 rgba(255, 255, 255, 0.1);

    --workshop-card-shadow: 0 10px 24px rgba(0, 0, 0, 0.22),
      0 2px 6px rgba(0, 0, 0, 0.16);

    --form-wrapper-shadow: 0 10px 24px rgba(0, 0, 0, 0.22),
      0 2px 6px rgba(0, 0, 0, 0.16);
  }
}
@charset "UTF-8";/*!
 * Bootstrap  v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,pre{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.figure{display:inline-block}.container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1400px){.container{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-1>*{flex:0 0 auto;width:100%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.g-4{--bs-gutter-x:1.5rem}.g-4{--bs-gutter-y:1.5rem}.g-5{--bs-gutter-x:3rem}.g-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}}@media (min-width:992px){.col-lg{flex:1 0 0%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-2{margin-left:16.66666667%}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.is-invalid~.invalid-feedback,.was-validated :invalid~.invalid-feedback{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-text:last-child{margin-bottom:0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-img-top{width:100%}.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.spinner-border{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.visually-hidden{width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption){position:absolute!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.position-relative{position:relative!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.w-100{width:100%!important}.h-100{height:100%!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.align-items-center{align-items:center!important}.align-items-stretch{align-items:stretch!important}.m-2{margin:.5rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.me-2{margin-right:.5rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.ms-auto{margin-left:auto!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.gap-2{gap:.5rem!important}.text-center{text-align:center!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.rounded{border-radius:var(--bs-border-radius)!important}.visible{visibility:visible!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.me-sm-2{margin-right:.5rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.justify-content-md-center{justify-content:center!important}.mb-md-0{margin-bottom:0!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-last{order:6!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.mt-lg-0{margin-top:0!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}/* ══════════════════════════════════════════════════════════════════════
   IMPULSE COACHING — BASE STYLES
   Resets, typography, layout utilities, and global base styles
   ══════════════════════════════════════════════════════════════════════ */

/* ──────────────────────────────────────────────────────────────────────
   RESET & BASE
   ────────────────────────────────────────────────────────────────────── */
/* ══════════════════════════════════════════════════════════════════════
      RESET ANTI-MARGE SAFARI / IOS (À METTRE TOUT EN HAUT)
      ══════════════════════════════════════════════════════════════════════ */

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  position: relative;
  -webkit-overflow-scrolling: touch;
}

body {
  overflow-x: hidden;
}

/* Force tous les éléments à ne pas avoir de marge latérale par défaut */
* {
  margin-left: 0;
  margin-right: 0;
}

/* Supprime spécifiquement le padding-inline sur les sections et containers dans le Hero */
.hero .container,
.hero.container,
header.container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-y: scroll;
}

body {
  position: relative;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  font-family: var(--ff-body);
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.06rem);
  line-height: 1.8;
  color: var(--text-secondary);
  background: var(--bg-primary);
  -webkit-font-smoothing: antialiased;
  transition: background-color var(--dur-slow) var(--ease),
    color var(--dur-slow) var(--ease);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  color: var(--text-primary);
  font-family: var(--ff-display);
  line-height: 1.15;
  text-wrap: balance;
}

p {
  margin-top: 0;
  margin-bottom: 1.35em;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

ul,
ol {
  padding-left: 1.5rem;
}

a {
  color: var(--link-color);
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.15em;
  transition: color var(--dur-base) var(--ease);
}

a:hover {
  color: var(--link-hover);
}

/* Skip link */
.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  z-index: calc(var(--z-nav) + 100);
  padding: 1rem 1.5rem;
  background: var(--accent-color);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border-radius: var(--radius);
  transition: top var(--dur-base) var(--ease);
}

.skip-link:focus {
  top: 1rem;
  outline: 2px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

/* Texture subtile */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: var(--texture-opacity);
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: var(--texture-size);
}

/* ──────────────────────────────────────────────────────────────────────
   LAYOUT & UTILITAIRES
   ────────────────────────────────────────────────────────────────────── */

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding-inline: clamp(1rem, 5vw, 2rem);
}

section {
  position: relative;
  scroll-margin-top: var(--nav-offset);
  padding: clamp(4rem, 8vw, 7rem) 0;
}

.sec-pad {
  position: relative;
  z-index: 1;
}

.bg-cream {
  background-color: var(--bg-primary);
}

.bg-sage {
  background: var(--problem-section-bg);
}

.bg-warm {
  background-color: var(--bg-secondary);
}

.sec-header {
  text-align: center;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.sec-label {
  display: inline-block;
  margin-bottom: 0.8rem;
  color: var(--accent-text);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sec-title {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
}

.sec-title--xl {
  font-size: clamp(2.2rem, 4.5vw, 3.35rem);
  line-height: 1.06;
  letter-spacing: -0.01em;
}

.sec-divider {
  width: 44px;
  height: 2px;
  margin: 1.25rem auto 0;
  background: linear-gradient(90deg, var(--copper-light), var(--copper));
  border: 0;
  opacity: 0.8;
}

.sec-intro {
  max-width: 680px;
  margin: 1.5rem auto 0;
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  text-wrap: balance;
}

@media (max-width: 767.98px) {
  body::after {
    opacity: calc(var(--texture-opacity) * 0.66);
    background-size: 320px;
  }
}

@media print {
  body::after {
    display: none;
  }
}

/* Screen-reader only helper */
/* ================================================================
   NAVBAR STYLES
   Consolidated and cleaned for maintainability
   ================================================================ */

:root {
  --navbar-bp: 992px;
}

/* ================================================================
   NAVBAR WRAPPER (Fixed, Full Width)
   ================================================================ */

.navbar-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-nav);
  width: 100%;
  max-width: 100%;
  padding: 0.75rem 1rem;
  padding-top: calc(0.75rem + env(safe-area-inset-top));
  margin: 0;
  transition: transform var(--dur-base) var(--ease),
    opacity var(--dur-base) var(--ease);
}

/* Remove top padding on mobile */
@media (max-width: 767.98px) {
  .navbar-wrapper {
    padding: 0.5rem 0.75rem;
    padding-top: env(safe-area-inset-top);
  }
}

.navbar-wrapper.nav-hidden {
  transform: translateY(-120%);
  opacity: 0;
}

/* ================================================================
   NAVBAR INNER (Container with Glassmorphism)
   ================================================================ */

.navbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: var(--container);
  width: 100%;
  margin: 0 auto;
  padding: 0.6rem 1.5rem;
  background: color-mix(in srgb, var(--bg-primary), transparent 12%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  box-shadow: none;
  transition: box-shadow var(--dur-base) var(--ease),
    border-color var(--dur-base) var(--ease),
    background var(--dur-base) var(--ease);
}

.navbar-inner.scrolled {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* ================================================================
   NAVBAR (Flex Layout)
   ================================================================ */

.navbar.navbar-expand-lg {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0;
  margin: 0;
}

/* ================================================================
   LOGO
   ================================================================ */

.navbar-brand img {
  display: block;
  width: auto;
  height: 48px;
  transition: transform var(--dur-base) var(--ease);
}

.navbar-brand:hover img {
  transform: scale(1.05);
}

@media (max-width: calc(var(--navbar-bp) - 1px)) {
  .navbar-brand img {
    height: 42px;
  }
}

/* ================================================================
   NAVIGATION LIST
   ================================================================ */

.navbar-nav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ================================================================
   NAV LINKS
   ================================================================ */

.nav-link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0.5rem 0.8rem;
  border-radius: 30px;
  color: var(--text-primary);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  transition: color var(--dur-base) var(--ease),
    background var(--dur-base) var(--ease), outline var(--dur-fast) var(--ease);
}

.nav-link:focus-visible {
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 2px;
}

.nav-link:hover,
.nav-link.active,
.nav-link.active-spy {
  color: var(--accent-color);
  background: rgba(196, 149, 106, 0.15);
}

/* Submenu Toggle Button */
.nav-link-toggle {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.nav-link-toggle:hover,
.nav-link-toggle.active,
.nav-link-toggle[aria-expanded="true"] {
  color: var(--accent-color);
  background: rgba(196, 149, 106, 0.22);
  font-weight: 700;
}

.nav-link-toggle:focus-visible {
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 2px;
}

/* ================================================================
   SUBMENU
   ================================================================ */

.nav-submenu-list {
  padding: 0.5rem;
  margin: 0;
  list-style: none;
}

.nav-submenu-list .nav-link,
.nav-submenu .nav-link {
  min-height: 44px;
  padding: 0.6rem 1rem;
  border-radius: var(--radius);
  color: var(--text-primary);
  font-size: 0.95rem;
  font-weight: 500;
  text-transform: none;
  transition: color var(--dur-fast) var(--ease),
    background var(--dur-fast) var(--ease), outline var(--dur-fast) var(--ease);
}

.nav-submenu-list .nav-link:hover,
.nav-submenu .nav-link:hover {
  color: var(--accent-color);
  background: rgba(196, 149, 106, 0.15);
  text-decoration: none;
}

.nav-submenu-list .nav-link:focus-visible,
.nav-submenu .nav-link:focus-visible {
  color: #ffffff;
  background: var(--accent-color);
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 2px;
  font-weight: 700;
  text-decoration: none;
}

/* ================================================================
   THEME TOGGLE
   ================================================================ */

.theme-toggle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-left: 1rem;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  background: transparent;
  color: var(--text-primary);
  cursor: pointer;
  transition: background var(--dur-base) var(--ease),
    color var(--dur-base) var(--ease);
}

.theme-toggle:hover {
  background: rgba(196, 149, 106, 0.1);
  color: var(--accent-color);
}

.theme-toggle:focus-visible {
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 2px;
}

.theme-toggle svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.theme-toggle .icon-sun {
  display: none;
}

.theme-toggle .icon-moon {
  display: block;
}

[data-theme="dark"] .theme-toggle .icon-sun {
  display: block;
}

[data-theme="dark"] .theme-toggle .icon-moon {
  display: none;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .theme-toggle .icon-sun {
    display: block;
  }

  :root:not([data-theme="light"]) .theme-toggle .icon-moon {
    display: none;
  }
}

/* ================================================================
   MOBILE MENU TOGGLE BUTTON
   ================================================================ */

.navbar-toggler {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.navbar-toggler:focus-visible {
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 2px;
}

.toggler-bar {
  width: 24px;
  height: 2px;
  border-radius: 2px;
  background: var(--text-primary);
  transition: transform var(--dur-base) var(--ease),
    opacity var(--dur-base) var(--ease),
    background-color var(--dur-base) var(--ease);
}

.navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(2) {
  opacity: 0;
}

.navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* ================================================================
   RESPONSIVE: TABLET & MOBILE (max-width: 991.98px)
   ================================================================ */

@media (max-width: calc(var(--navbar-bp) - 0.02px)) {
  .navbar-wrapper {
    top: 0;
    padding: 0.8rem 1rem;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin: 0;
  }

  .navbar-inner {
    padding: 0.7rem 1rem;
    border-radius: 12px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .navbar-brand img {
    height: 42px;
  }

  .theme-toggle {
    margin-left: 0;
  }

  .navbar-collapse {
    margin-top: 0.75rem;
    padding: 1rem;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    max-height: calc(100dvh - 100px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transform-origin: top center;
    animation: slideDownMenu 0.3s var(--ease);
  }

  .navbar-collapse .navbar-nav {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0.25rem;
  }

  .navbar-collapse .nav-link {
    width: 100%;
    padding: 0.8rem 1rem;
    border-radius: var(--radius);
  }

  .nav-submenu {
    margin-top: 0.5rem;
    overflow: hidden;
    background: var(--bg-secondary);
    border-radius: var(--radius);
  }

  .dropdown-menu {
    position: static;
    float: none;
    width: 100%;
    margin-top: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: rgba(0, 0, 0, 0.03);
    padding-left: 1rem;
  }

  .dropdown-menu.show {
    display: block;
  }
}

/* ================================================================
   RESPONSIVE: DESKTOP (min-width: 992px)
   ================================================================ */

@media (min-width: var(--navbar-bp)) {
  .navbar-inner {
    padding: 0.55rem 1.4rem;
  }

  .navbar-brand img {
    height: 38px;
  }

  .navbar-collapse {
    display: flex;
    justify-content: flex-end;
  }

  .navbar-nav {
    margin-left: auto;
    gap: 0.65rem;
  }

  .nav-item-more {
    position: relative;
  }

  .nav-submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: var(--z-nav);
    min-width: 220px;
    margin-top: 0.5rem;
    padding: 0.5rem;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    transform: translateX(-50%);
  }
}

/* ================================================================
   ANIMATIONS
   ================================================================ */

@keyframes slideDownMenu {
  from {
    opacity: 0;
    transform: scaleY(0.95);
  }
  to {
    opacity: 1;
    transform: scaleY(1);
  }
}

/* ================================================================
   ACCESSIBILITY: Reduced Motion
   ================================================================ */

@media (prefers-reduced-motion: reduce) {
  .navbar-wrapper,
  .navbar-inner,
  .nav-link,
  .theme-toggle {
    animation: none;
    transition: none;
  }
}
/* ================================================================
   HERO — VERSION FINALE PREMIUM (UX + PERF + MOBILE)
   ================================================================ */

/* ================================================================
   HERO CONTAINER
   ================================================================ */

.hero {
  width: 100%;
  margin: 0;
  padding: 0;
  min-height: 100svh;
}

/* ================================================================
   HERO MEDIA
   ================================================================ */

.hero-media {
  position: relative;
  overflow: hidden;

  min-height: 100svh;
  height: 100svh;

  width: 100%;
}

/* ================================================================
   IMAGE
   ================================================================ */

.hero-img-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}

/* ================================================================
   OVERLAY (AMÉLIORÉ)
   ================================================================ */

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  background: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.65));

  backdrop-filter: blur(1px);
}

/* ================================================================
   CONTENT (DESKTOP)
   ================================================================ */

.hero-content {
  position: absolute;
  inset: 0;
  z-index: 2;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 1.4rem;
  padding: 0 1.5rem;
  text-align: center;
  color: #fff;

  pointer-events: none;
}

.hero-content > * {
  pointer-events: auto;
  max-width: min(100%, 980px);
  margin: 0 auto;
}

/* ================================================================
   SOCIAL PROOF
   ================================================================ */

.hero-proof {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;

  padding: 0.8rem 1.2rem;
  border-radius: 999px;

  background: rgba(38, 28, 16, 0.75);
  backdrop-filter: blur(6px);

  color: #fff;
  font-size: 0.9rem;
  opacity: 0.95;
}

.hero-proof-stars {
  color: #f1d77a;
}

/* ================================================================
   DIVIDER
   ================================================================ */

.hero-line {
  width: 64px;
  height: 2px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
}

/* ================================================================
   TITLE (OPTIMISÉ)
   ================================================================ */

.hero h1 {
  max-width: 13ch;

  font-family: var(--ff-display);
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: 1.22;
  letter-spacing: -0.01em;

  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

/* ================================================================
   SUBTITLE
   ================================================================ */

.hero-subtitle {
  max-width: 30ch;

  font-size: clamp(1rem, 1vw, 1.2rem);
  line-height: 1.6;

  color: rgba(255, 255, 255, 0.92);
  margin-top: 0.5rem;
}

/* ================================================================
   CTA
   ================================================================ */

.hero-ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 0.5rem;
}

.btn-hero-primary {
  min-width: 260px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

/* CTA secondaire plus discret */
.hero-ctas a:last-child {
  opacity: 0.75;
  border-width: 1px;
}

/* ================================================================
   SCROLL INDICATOR
   ================================================================ */

.scroll-hint {
  position: absolute;
  bottom: calc(1rem + env(safe-area-inset-bottom));
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.scroll-hint-inner {
  width: 26px;
  height: 42px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 14px;
  position: relative;
}

.scroll-hint-inner::after {
  content: "";
  position: absolute;
  top: 7px;
  left: 50%;
  width: 3px;
  height: 7px;
  transform: translateX(-50%);
  background: #fff;
  animation: scrollDot 2s infinite;
}

@keyframes scrollDot {
  0% {
    top: 7px;
    opacity: 1;
  }
  100% {
    top: 21px;
    opacity: 0;
  }
}

/* ================================================================
   MOBILE (UX PARFAIT)
   ================================================================ */

@media (max-width: 767.98px) {
  .hero {
    min-height: auto;
  }

  .hero-media {
    height: auto;
    min-height: auto;
    padding-bottom: 2.5rem;
  }

  .hero-img {
    object-position: center top;
    filter: brightness(0.78);
  }

  .hero-overlay {
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.7));
    backdrop-filter: none;
  }

  .hero-content {
    position: relative;

    justify-content: flex-start;

    padding: calc(var(--nav-mobile-height) + 2rem) 1rem 2rem;

    gap: 1.5rem;
  }

  .hero h1 {
    font-size: clamp(2.1rem, 7vw, 3rem);
    line-height: 1.2;
  }

  .hero-subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
  }

  .hero-ctas {
    flex-direction: column;
    width: 100%;
    gap: 0.9rem;
    margin-top: 1rem;
  }

  .btn-hero-primary {
    width: 100%;
    min-height: 60px;
    font-size: 1.05rem;
    font-weight: 700;
  }

  .scroll-hint {
    display: none;
  }
}

/* ================================================================
   ACCESSIBILITY
   ================================================================ */

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
/* ══════════════════════════════════════════════════════════════════════
   IMPULSE COACHING — SECTIONS
   Section-specific styles: hero, about, problems, workshops, FAQ, footer
   ══════════════════════════════════════════════════════════════════════ */

/* ──────────────────────────────────────────────────────────────────────
   VARIABLES LOCALES
   ────────────────────────────────────────────────────────────────────── */
:root {
  --nav-mobile-height: 92px;
}

/* ──────────────────────────────────────────────────────────────────────
   HERO
   NOTA: Styles moved to _hero.css - do not duplicate here
   ────────────────────────────────────────────────────────────────────── */

.hero-content {
  max-width: 860px;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;

  width: 100%;
  box-sizing: border-box;
  padding: 0 1.5rem;
}

.hero-proof {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.7rem 1.15rem;
  margin-bottom: 0.75rem;
  border-radius: var(--radius-pill);
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #fff;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.3;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}

.hero-proof-stars {
  flex-shrink: 0;
  color: #f7dd88;
  letter-spacing: 0.08em;
}

.hero-proof-text {
  white-space: normal;
  text-wrap: balance;
}

.hero-line {
  width: 64px;
  height: 2px;
  margin: 0.8rem auto 1rem;
  background: rgba(255, 255, 255, 0.78);
}

.hero h1 {
  margin-bottom: 0.75rem;
  color: #fff;
  font-size: clamp(2.8rem, 6vw, 4.8rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.22);
}

.hero-subtitle {
  margin-bottom: 0.75rem;
  color: rgba(255, 255, 255, 0.96);
  font-family: var(--ff-display);
  font-size: clamp(1.25rem, 2.6vw, 1.95rem);
  font-style: italic;
  line-height: 1.45;
  text-wrap: balance;
}

.hero-micro {
  max-width: 60ch;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
}

.hero-quote {
  max-width: 540px;
  margin: 0.25rem auto 0.5rem;
  padding: 1rem 1.15rem;
  text-align: left;
  background: rgba(0, 0, 0, 0.25);
  border-left: 3px solid rgba(255, 255, 255, 0.85);
  border-radius: 0 var(--radius) var(--radius) 0;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0.7;
  font-size: 0.95rem;
}

.hero-quote p {
  margin: 0;
  color: #fff;
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  font-weight: 700;
  line-height: 1.55;
  text-wrap: balance;
}

.hero-quote cite {
  display: block;
  margin-top: 0.7rem;
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.98rem;
  font-style: italic;
  line-height: 1.35;
}

.hero-ctas {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
}

.hero-element {
  opacity: 0;
  animation: fadeSlideUp 1s var(--ease) forwards;
}

.hero-proof {
  animation-delay: 0.3s;
}
.hero-line {
  animation-delay: 0.45s;
}
.hero h1 {
  animation-delay: 0.6s;
}
.hero-subtitle {
  animation-delay: 0.85s;
}
.hero-micro {
  animation-delay: 1.1s;
}
.hero-ctas {
  animation-delay: 1.5s;
}

.scroll-hint {
  position: absolute;
  bottom: calc(1.25rem + env(safe-area-inset-bottom));
  left: 50%;
  opacity: 0;
  transform: translateX(-50%);
  animation: fadeSlideUp 1s 2s var(--ease) forwards;
}

.scroll-hint-inner {
  position: relative;
  width: 26px;
  height: 42px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 14px;
}

.scroll-hint-inner::after {
  content: "";
  position: absolute;
  top: 7px;
  left: 50%;
  width: 3px;
  height: 7px;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.78);
  transform: translateX(-50%);
  animation: scrollDot 2s infinite;
}

/* ──────────────────────────────────────────────────────────────────────
   RESPONSIVE HERO (MOBILE & TABLETTE)
   ────────────────────────────────────────────────────────────────────── */

@media (max-width: 991.98px) {
  .hero {
    min-height: calc(100dvh - var(--nav-mobile-height));
  }

  .hero-overlay {
    padding-top: 6.4rem; /* Ajusté pour tablette */
    padding-bottom: 2.75rem;
  }

  .hero-content {
    max-width: 700px;
    gap: 1rem;
  }
}

@media (max-width: 767.98px) {
  .hero {
    min-height: calc(100dvh - var(--nav-mobile-height));
    /* Reset des marges négatives sur mobile pour éviter bugs */
    left: 0;
    right: 0;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  .hero-overlay {
    align-items: flex-start;
    /* FIX MOBILE : Padding haut réduit pour remonter le contenu */
    padding: 5.5rem 0 calc(2.2rem + env(safe-area-inset-bottom));
  }

  .hero-content {
    max-width: 100%;
    gap: 0.82rem;
    padding: 0 1rem; /* Padding interne contrôlé */
  }

  .hero-proof {
    width: min(100%, 34rem);
    max-width: 100%;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
    padding: 0.68rem 0.9rem;
    font-size: 0.86rem;
    line-height: 1.25;
  }

  .hero-line {
    width: 48px;
    margin: 0.55rem auto 0.75rem;
  }

  .hero h1 {
    margin-bottom: 0.45rem;
    font-size: clamp(2.3rem, 9vw, 3.2rem);
    line-height: 1.08;
  }

  .hero-subtitle {
    max-width: 24ch;
    margin-inline: auto;
    margin-bottom: 0.45rem;
    font-size: 1rem;
    line-height: 1.35;
    text-wrap: pretty;
  }

  .hero-micro {
    max-width: 34ch;
    margin: 0 auto;
    font-size: 0.92rem;
    line-height: 1.38;
  }

  .hero-quote {
    max-width: 100%;
    margin: 0.15rem auto 0.35rem;
    padding: 0.85rem 0.9rem;
    background: rgba(0, 0, 0, 0.28);
    border-left-width: 3px;
    border-radius: 0 16px 16px 0;
    font-size: 0.9rem;
  }

  .hero-ctas {
    gap: 0.75rem;
    margin-top: 0.75rem;
    width: 100%;
    flex-direction: column;
  }

  .btn-hero-primary,
  .hero .btn-copper-outline {
    width: 100%;
    max-width: 340px;
    min-width: 0;
    min-height: 58px;
    padding: 0.9rem 1.15rem;
    font-size: 0.93rem;
  }

  .scroll-hint {
    bottom: calc(0.85rem + env(safe-area-inset-bottom));
  }
}

@media (max-width: 430px) {
  :root {
    --nav-mobile-height: 86px;
  }

  .hero-overlay {
    padding-top: 5.2rem; /* Encore plus compact sur petits écrans */
    padding-inline: 0.95rem;
  }

  .hero-content {
    gap: 0.75rem;
  }

  .hero-proof {
    padding: 0.64rem 0.82rem;
    font-size: 0.82rem;
  }

  .hero h1 {
    font-size: clamp(2.1rem, 10.5vw, 2.85rem);
    line-height: 1.06;
  }

  .hero-subtitle {
    max-width: 20ch;
    font-size: 0.96rem;
    line-height: 1.32;
  }
}

/* ──────────────────────────────────────────────────────────────────────
   SECTION RESPIRATION CITATION
   ────────────────────────────────────────────────────────────────────── */

.quote-breathing {
  padding: clamp(4.5rem, 9vw, 7rem) 1.5rem;
  background: linear-gradient(180deg, #f7f4ef 0%, #edf3f3 100%);
}

.quote-breathing__inner {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.quote-breathing__eyebrow {
  margin: 0 0 1.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #8b6a45;
}

.quote-breathing__card {
  position: relative;
  padding: clamp(1.75rem, 4vw, 3rem);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(95, 163, 163, 0.15);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.quote-breathing__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
}

.quote-breathing__card::before {
  content: "“";
  position: absolute;
  top: 0.25rem;
  left: 1rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 6vw, 4.5rem);
  line-height: 1;
  color: rgba(95, 163, 163, 0.2);
  pointer-events: none;
}

.quote-breathing__text {
  margin: 0;
  font-size: clamp(1.25rem, 2.8vw, 2rem);
  line-height: 1.6;
  font-weight: 500;
  color: #2f3c47;
  text-wrap: balance;
}

.quote-breathing__author {
  margin-top: 1rem;
  font-size: 0.95rem;
  font-style: italic;
  color: #5f6f76;
  opacity: 0.9;
}

@media (prefers-color-scheme: dark) {
  .quote-breathing {
    background: linear-gradient(180deg, #0f1a1a 0%, #162424 100%);
  }
  .quote-breathing__card {
    background: rgba(25, 40, 40, 0.88);
    border-color: rgba(95, 163, 163, 0.22);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
  }
  .quote-breathing__text {
    color: #e6f0f0;
  }
  .quote-breathing__author {
    color: #9fbcbc;
  }
  .quote-breathing__eyebrow {
    color: #d2b38c;
  }
  .quote-breathing__card::before {
    color: rgba(95, 163, 163, 0.16);
  }
}

[data-theme="dark"] .quote-breathing {
  background: linear-gradient(180deg, #0f1a1a 0%, #162424 100%);
}
[data-theme="dark"] .quote-breathing__card {
  background: rgba(25, 40, 40, 0.88);
  border-color: rgba(95, 163, 163, 0.22);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .quote-breathing__text {
  color: #e6f0f0;
}
[data-theme="dark"] .quote-breathing__author {
  color: #9fbcbc;
}
[data-theme="dark"] .quote-breathing__eyebrow {
  color: #d2b38c;
}
[data-theme="dark"] .quote-breathing__card::before {
  color: rgba(95, 163, 163, 0.16);
}

@media (max-width: 640px) {
  .quote-breathing {
    padding: 3rem 1rem;
  }
  .quote-breathing__card {
    padding: 1.5rem 1.25rem;
    border-radius: 18px;
  }
  .quote-breathing__card::before {
    top: 0.15rem;
    left: 0.7rem;
    font-size: 2.8rem;
  }
  .quote-breathing__text {
    font-size: 1.2rem;
  }
  .quote-breathing__author {
    margin-top: 0.85rem;
    font-size: 0.92rem;
  }
}

/* ──────────────────────────────────────────────────────────────────────
   ABOUT
   ────────────────────────────────────────────────────────────────────── */

#about.bg-warm {
  background-color: var(--bg-secondary);
}
#about .about-text {
  color: var(--text-primary);
  font-size: 1.05rem;
  line-height: 1.8;
}
#about .eyebrow {
  color: var(--accent-text);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
#about h2 {
  color: var(--text-primary);
  font-weight: 700;
}

.about-quote {
  margin: 2.5rem 0;
  padding-left: 1.5rem;
  border-left: 5px solid var(--quote-border);
  color: var(--text-primary);
  font-family: var(--ff-display);
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-style: italic;
  font-weight: 500;
  line-height: 1.5;
}

.about-visual {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--bg-card);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-lg);
}

.about-img-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.about-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  transition: transform 0.8s var(--ease);
}

.about-visual:hover .about-img {
  transform: scale(1.03);
}

.about-deco-circle,
.about-deco-dot {
  position: absolute;
  pointer-events: none;
}

.about-deco-circle {
  top: 1rem;
  right: 1rem;
  width: 84px;
  height: 84px;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
}

.about-deco-dot {
  bottom: 1.25rem;
  left: 1rem;
  width: 16px;
  height: 16px;
  background: var(--accent-color);
  border-radius: 50%;
}

/* ──────────────────────────────────────────────────────────────────────
   SERVICES / PROBLÉMATIQUES / VISION / VALEURS
   ────────────────────────────────────────────────────────────────────── */

.problem-cards-grid > [class*="col"],
.testimonials-grid > [class*="col"],
.row.g-4 > [class*="col"] {
  display: flex;
}

.problem-card {
  height: 100%;
  background: var(--problem-card-bg);
  border: 1px solid var(--problem-card-border);
  border-radius: var(--radius-2xl);
  box-shadow: var(--problem-card-shadow);
  transition: transform var(--dur-base) var(--ease),
    box-shadow var(--dur-base) var(--ease),
    border-color var(--dur-base) var(--ease);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.problem-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--problem-card-shadow-hover);
  border-color: var(--border-strong);
}

.problem-card h3 {
  margin-bottom: 0.7rem;
  color: var(--text-primary);
  font-family: var(--ff-body);
  font-size: clamp(1.2rem, 1.4vw, 1.35rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.problem-card h3 strong {
  color: var(--text-primary);
  font-weight: 700;
}
.problem-card p {
  margin: 0;
  color: var(--text-secondary);
}
#problematiques .wave-top path {
  fill: var(--bg-secondary);
}

.vision-card {
  position: relative;
  overflow: hidden;
  height: 100%;
  padding: 2.5rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-left: 4px solid var(--accent-color);
  border-radius: var(--radius-2xl);
}

.vision-card-top {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.vision-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  background: var(--bg-accent);
  border-radius: 50%;
  color: var(--accent-color);
}

.vision-head h3 {
  margin-bottom: 0.25rem;
  color: var(--text-primary);
  font-size: 1.4rem;
}
.vision-subtitle,
.workshop-note,
.blog-date {
  color: var(--text-secondary);
  font-weight: 500;
}

.value-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  padding: 2rem 1.6rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  text-align: center;
  transition: transform var(--dur-fast) var(--ease),
    border-color var(--dur-fast) var(--ease),
    box-shadow var(--dur-fast) var(--ease);
}

.value-card:hover {
  transform: translateY(-4px);
  border-color: var(--border-strong);
  box-shadow: var(--shadow-md);
}

.value-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 1rem;
  background: var(--sage-pale);
  border-radius: 50%;
  color: var(--accent-color);
  box-shadow: var(--shadow-sm);
  transition: transform var(--dur-base) var(--ease-bounce);
}

.value-card:hover .value-icon {
  transform: scale(1.08) rotate(-5deg);
}
.value-icon svg {
  width: 28px;
  height: 28px;
  stroke-width: 1.8;
}

.value-card h3 {
  margin: 1.1rem 0 0.8rem;
  color: var(--text-primary);
  font-family: var(--ff-body);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.value-card p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.95rem;
  line-height: 1.65;
}

/* ──────────────────────────────────────────────────────────────────────
   WORKSHOPS
   ────────────────────────────────────────────────────────────────────── */

.workshop-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-2xl);
  box-shadow: var(--workshop-card-shadow);
}

.workshop-top {
  padding: 2rem;
  background: var(--bg-accent);
  border-bottom: 1px solid var(--border-subtle);
}

@media (min-width: 768px) {
  .workshop-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
  }
}

.workshop-heading h3 {
  margin-bottom: 0.5rem;
  color: var(--text-primary);
  font-family: var(--ff-display);
  font-size: clamp(1.35rem, 1.8vw, 1.65rem);
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.workshop-type {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.95rem;
}

.workshop-badge {
  min-width: 100px;
  padding: 1rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  text-align: center;
}

.workshop-date-block {
  display: inline-block;
  margin: 0 0.5rem;
}
.workshop-date-block .day {
  display: block;
  color: var(--accent-color);
  font-family: var(--ff-display);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}
.workshop-date-block .month {
  display: block;
  margin-top: 4px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.workshop-bottom {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 2rem;
}


.event-meta {
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
  color: var(--text-secondary);
  font-size: 0.95rem;
}
.event-meta li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed var(--border-subtle);
}
.event-meta li strong {
  color: var(--text-primary);
}

/* ──────────────────────────────────────────────────────────────────────
   TÉMOIGNAGES
   ────────────────────────────────────────────────────────────────────── */

.testi-card {
  position: relative;
  width: 100%;
  padding: 2rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-sm);
}

.testi-quote-mark {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  color: var(--accent-color);
  font-size: 4rem;
  line-height: 1;
  opacity: 0.1;
}

.testi-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.testi-avatar {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border: 2px solid var(--accent-color);
  border-radius: 50%;
}

.testi-body h3 {
  margin-bottom: 0.15rem;
  color: var(--text-primary);
  font-size: 1.15rem;
  font-weight: 700;
}
.testi-role {
  display: block;
  margin: 0 0 1rem;
  color: var(--accent-text);
  font-size: 0.9rem;
  font-weight: 600;
}
.testi-text {
  margin-bottom: 0;
  color: var(--text-primary);
  font-style: normal;
  line-height: 1.75;
}

/* ──────────────────────────────────────────────────────────────────────
   FREE CALL CTA
   ────────────────────────────────────────────────────────────────────── */

.free-call-card {
  max-width: 900px;
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 3rem);
  background: var(--free-call-card-bg);
  border: 1px solid var(--free-call-card-border);
  border-radius: var(--radius-2xl);
  box-shadow: var(--free-call-card-shadow);
  text-align: center;
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
}

.free-call-eyebrow {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--accent-text);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.free-call-title {
  margin: 0.5rem 0 1.5rem;
  font-size: clamp(2rem, 4vw, 2.8rem);
}
.free-call-text {
  max-width: 60ch;
  margin: 0 auto 2rem;
  font-size: 1.1rem;
}

/* ──────────────────────────────────────────────────────────────────────
   FAQ
   ────────────────────────────────────────────────────────────────────── */

.faq-list {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  margin-bottom: 1rem;
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  transition: border-color var(--dur-base) var(--ease),
    background var(--dur-base) var(--ease);
}

.faq-item[open] {
  background: var(--bg-accent);
  border-color: var(--accent-color);
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 44px;
  padding: 1.2rem;
  color: var(--text-primary);
  font-size: 1.05rem;
  font-weight: 600;
  list-style: none;
  cursor: pointer;
}

.faq-question::-webkit-details-marker {
  display: none;
}
.faq-question:focus-visible {
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 3px;
}

.faq-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 28px;
  min-width: 28px;
  height: 28px;
  margin-left: 1rem;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  color: var(--accent-color);
  transition: transform var(--dur-base) var(--ease),
    background var(--dur-base) var(--ease), color var(--dur-base) var(--ease);
}

.faq-item[open] .faq-icon {
  background: var(--accent-color);
  color: #fff;
  transform: rotate(45deg);
}
.faq-answer {
  padding: 0 1.2rem 1.2rem;
  color: var(--text-secondary);
  font-size: 0.98rem;
  line-height: 1.7;
}

/* ──────────────────────────────────────────────────────────────────────
   ACTUALITÉS / BLOG
   ────────────────────────────────────────────────────────────────────── */

.news-card-media {
  position: relative;
}
.news-badge,
.news-badge-featured {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
}
.news-card-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  width: 100%;
  height: 100%;
  background: var(--bg-accent);
  color: var(--accent-color);
}
.blog-date {
  margin-bottom: 0.5rem;
  color: var(--text-secondary);
  font-size: 0.85rem;
}
.blog-date time {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ──────────────────────────────────────────────────────────────────────
   CONTACT
   ────────────────────────────────────────────────────────────────────── */

.contact-info {
  margin-bottom: 2rem;
  text-align: center;
}
.contact-meta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 1rem;
}

/* ──────────────────────────────────────────────────────────────────────
   FOOTER
   ────────────────────────────────────────────────────────────────────── */

.site-footer {
  padding: 3rem 1rem 1.75rem;
  background: var(--bg-footer);
  color: var(--text-footer);
  text-align: center;
}

.footer-brand {
  display: block;
  width: auto;
  height: 56px;
  margin: 0 auto 1rem;
  opacity: 0.78;
  transition: opacity var(--dur-base) var(--ease),
    transform var(--dur-base) var(--ease);
}

.site-footer:hover .footer-brand {
  opacity: 1;
}
.footer-brand:hover {
  transform: translateY(-1px);
}

@media (max-width: 575.98px) {
  .footer-brand {
    height: 50px;
  }
}

.footer-tagline {
  margin-bottom: 0.35rem;
  color: #fff;
  font-family: var(--ff-display);
  font-size: 1.05rem;
}
.footer-location {
  margin-bottom: 1.2rem;
  opacity: 0.7;
  font-size: 0.9rem;
}

.footer-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem 1.4rem;
  margin-bottom: 1.4rem;
  padding: 0;
  list-style: none;
}

.footer-nav a {
  color: var(--text-footer);
  text-decoration: none;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.8;
  transition: opacity var(--dur-base) var(--ease),
    color var(--dur-base) var(--ease);
}

.footer-nav a:hover {
  color: var(--accent-color);
  opacity: 1;
}
.footer-nav a:focus-visible,
.footer-credit a:focus-visible,
.social-btn:focus-visible,
.floating-cta:focus-visible {
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 3px;
}
.social-btn:focus-visible,
.floating-cta:focus-visible {
  color: #fff;
}
.footer-credit {
  margin-top: 0.6rem;
  margin-bottom: 1.4rem;
  opacity: 0.6;
  font-size: 0.85rem;
}
.footer-credit a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.3);
}
.footer-social-block {
  margin-top: 1.4rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.footer-social-title {
  margin-bottom: 0.85rem;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.footer-socials {
  display: flex;
  justify-content: center;
  gap: 0.85rem;
}

.social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  transition: background var(--dur-base) var(--ease),
    border-color var(--dur-base) var(--ease),
    transform var(--dur-base) var(--ease);
}

.social-btn:hover {
  background: var(--accent-color);
  border-color: var(--accent-color);
  transform: translateY(-3px);
}

@media (min-width: 1200px) {
  .site-footer {
    padding-top: 2.75rem;
  }
  .footer-location {
    margin-bottom: 1rem;
  }
  .footer-nav {
    margin-bottom: 1.2rem;
  }
  .footer-credit {
    margin-bottom: 1.2rem;
  }
  .footer-social-block {
    margin-top: 1.2rem;
    padding-top: 1.2rem;
  }
}

@media (max-width: 767.98px) {
  .site-footer {
    padding: 2.5rem 1rem 1.5rem;
  }
  .footer-tagline {
    font-size: 1rem;
  }
  .footer-location {
    margin-bottom: 1rem;
  }
  .footer-nav {
    gap: 0.8rem 1rem;
    margin-bottom: 1.2rem;
  }
  .footer-credit {
    margin-bottom: 1.2rem;
  }
  .footer-social-block {
    margin-top: 1rem;
    padding-top: 1rem;
  }
}

/* ──────────────────────────────────────────────────────────────────────
     FLOATING CTA & PROGRESS BAR
     ────────────────────────────────────────────────────────────────────── */

.floating-cta {
  position: fixed;
  right: 2rem;
  bottom: calc(2rem + env(safe-area-inset-bottom));
  z-index: var(--z-floating);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 48px;
  padding: 1rem 1.5rem;
  background: var(--copper-dark);
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-lg);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
  transition: opacity var(--dur-base) var(--ease),
    transform var(--dur-base) var(--ease),
    box-shadow var(--dur-base) var(--ease),
    background-color var(--dur-base) var(--ease);
}

.floating-cta:hover {
  background: var(--copper-accessible);
  box-shadow: var(--shadow-xl);
  color: #fff;
  transform: translateY(-5px);
}

.floating-cta.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.floating-cta.is-hidden-near-contact {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 767.98px) {
  .floating-cta {
    right: 1rem;
    bottom: calc(1rem + env(safe-area-inset-bottom));
    padding: 0.9rem 1.2rem;
    font-size: 0.85rem;
  }
}

/* ──────────────────────────────────────────────────────────────────────
     DÉCORATIONS, VAGUES & ANIMATIONS
     ────────────────────────────────────────────────────────────────────── */

.wave-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.wave-top svg {
  display: block;
  width: calc(100% + 1.3px);
  height: 72px;
}

.rv,
.rv-field,
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}

.rv.active,
.rv-field.active,
.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

.rv-left {
  transform: translateX(-30px);
}

.rv-left.active {
  transform: translateX(0);
}

.rv-right {
  transform: translateX(30px);
}

.rv-right.active {
  transform: translateX(0);
}

.rv-scale {
  transform: scale(0.95);
}

.rv-scale.active {
  transform: scale(1);
}

.rvd1 {
  transition-delay: 0.1s;
}
.rvd2 {
  transition-delay: 0.2s;
}
.rvd3 {
  transition-delay: 0.3s;
}
.rvd4 {
  transition-delay: 0.4s;
}
.rvd5 {
  transition-delay: 0.5s;
}

@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scrollDot {
  0% {
    top: 7px;
    opacity: 1;
  }
  100% {
    top: 21px;
    opacity: 0;
  }
}

@keyframes pulse-soft {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.05);
  }
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ──────────────────────────────────────────────────────────────────────
     MODE IMPRESSION
     ────────────────────────────────────────────────────────────────────── */

@media print {
  @page {
    size: A4;
    margin: 12mm;
  }

  :root {
    --bg-primary: #fff !important;
    --bg-secondary: #fff !important;
    --bg-accent: #fff !important;
    --bg-card: #fff !important;
    --bg-footer: #fff !important;
    --text-primary: #000 !important;
    --text-secondary: #000 !important;
    --text-tertiary: #000 !important;
    --text-footer: #000 !important;
    --text-footer-subtle: #000 !important;
    --accent-color: #000 !important;
    --accent-text: #000 !important;
    --border-subtle: #ccc !important;
    --border-strong: #999 !important;
  }

  body,
  section,
  .hero,
  .hero-overlay,
  .hero-content,
  .container,
  .row,
  [class*="col-"],
  .contact-meta,
  .site-footer,
  .card,
  .lux-card,
  .problem-card,
  .vision-card,
  .value-card,
  .workshop-card,
  .testi-card,
  .faq-item,
  .free-call-card {
    background: #fff !important;
    color: #000 !important;
  }

  body *,
  section *,
  .site-footer * {
    color: #000 !important;
    background: transparent !important;
    text-shadow: none !important;
    box-shadow: none !important;
    background-image: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }

  .navbar-wrapper,
  .theme-toggle,
  .scroll-hint,
  .floating-cta,
  .progress-bar-scroll,
  .wave-top,
  .hero-img-wrap,
  .hero-line,
  .hero-ctas,
  .btn,
  .form-wrapper,
  .footer-brand,
  .footer-nav-wrap,
  .footer-social-block,
  .faq-icon,
  .about-deco-circle,
  .about-deco-dot,
  .testi-quote-mark,
  .sec-divider {
    display: none !important;
  }

  .hero,
  .hero-overlay,
  .hero-content,
  section,
  .container,
  .row,
  [class*="col-"],
  .contact-meta {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 0.8rem 0 !important;
    padding: 0 !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  .card,
  .lux-card,
  .problem-card,
  .vision-card,
  .value-card,
  .workshop-card,
  .testi-card,
  .faq-item,
  .free-call-card {
    border: 1px solid #ccc !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin: 0 0 0.4rem 0 !important;
    padding: 0.35rem !important;
  }

  .about-visual {
    max-width: 42mm !important;
    margin: 0 0 0.5rem 0 !important;
    border: 0 !important;
    background: #fff !important;
  }

  .about-img-wrap,
  .about-img {
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  a {
    color: #000 !important;
    text-decoration: underline !important;
  }

  .rv,
  .rv-field,
  .reveal,
  .rv-left,
  .rv-right,
  .rv-scale,
  .hero-element {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  details {
    display: block !important;
  }
  details > * {
    display: block !important;
  }
  details .faq-answer {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
  }

  a[target="_blank"]::after {
    content: " (" attr(href) ")";
    word-break: break-word;
  }
}

/* ──────────────────────────────────────────────────────────────────────
     ACCESSIBILITÉ — REDUCED MOTION
     ────────────────────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .hero-element,
  .scroll-hint,
  .rv,
  .rv-field,
  .reveal,
  .rv-left,
  .rv-right,
  .rv-scale,
  .floating-cta,
  .social-btn,
  .card,
  .lux-card,
  .problem-card,
  .value-card {
    animation: none !important;
    transform: none !important;
  }
}

/* WCAG refinements */
.hero .btn-copper-outline:focus-visible,
.btn-hero-primary:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 4px;
  box-shadow: 0 0 0 4px rgba(196, 149, 106, 0.8);
}

.faq-question {
  cursor: pointer;
  user-select: none;
}

.faq-question:focus-visible {
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 3px;
  background: rgba(196, 149, 106, 0.08);
}

.floating-cta:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
  box-shadow: 0 8px 24px rgba(122, 82, 48, 0.35);
}
/* ──────────────────────────────────────────────────────────────────────
   HERO OVERLAY - CORRECTION RADICALE PADDING
   ────────────────────────────────────────────────────────────────────── */

.hero-overlay {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100%;

  /* CORRECTION RADICALE : On force 0 à gauche/droite avec !important */
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;

  /* On garde le padding haut/bas flexible */
  padding-top: clamp(6rem, 12vw, 9rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem);

  background: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
  backdrop-filter: blur(2px);
}

/* On s'assure que le contenu texte a son propre padding interne */
.hero-content {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  /* Le padding du texte se gère ici, pas dans l'overlay */
  padding: 0 1.5rem !important;
  box-sizing: border-box;
}

/* ──────────────────────────────────────────────────────────────────────
   MEDIA QUERIES MOBILE - NETTOYAGE DES CONFLITS
   ────────────────────────────────────────────────────────────────────── */

@media (max-width: 991.98px) {
  .hero {
    min-height: calc(100dvh - var(--nav-mobile-height));
  }

  .hero-overlay {
    /* On réapplique la force brute sur tablette aussi */
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 6.4rem;
    padding-bottom: 2.75rem;
  }
}

@media (max-width: 767.98px) {
  .hero {
    min-height: calc(100dvh - var(--nav-mobile-height));
    left: 0;
    right: 0;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  .hero-overlay {
    /* CORRECTION MOBILE : Padding haut réduit, latéraux TOUJOURS 0 */
    padding: 5.5rem 0 calc(2.2rem + env(safe-area-inset-bottom)) !important;
    align-items: flex-start;
  }

  .hero-content {
    max-width: 100%;
    /* On réduit le padding interne du texte sur mobile */
    padding: 0 1rem !important;
  }

  /* On s'assure que les boutons ne créent pas de débordement */
  .hero-ctas {
    width: 100%;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.75rem;
  }

  .btn-hero-primary,
  .hero .btn-copper-outline {
    width: 100%;
    max-width: 340px;
    min-width: 0;
  }
}

@media (max-width: 430px) {
  :root {
    --nav-mobile-height: 86px;
  }

  .hero-overlay {
    /* Sur très petit écran, on garde la règle de force */
    padding-top: 5.2rem !important;
    padding-bottom: calc(2rem + env(safe-area-inset-bottom)) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .hero-content {
    padding: 0 0.95rem !important;
  }
}
/* ══════════════════════════════════════════════════════════════════════
   IMPULSE COACHING — COMPONENTS
   Reusable UI components: buttons, cards, badges, forms, navbar
   ══════════════════════════════════════════════════════════════════════ */

/* ──────────────────────────────────────────────────────────────────────
   BOUTONS
   ────────────────────────────────────────────────────────────────────── */

.btn,
.btn-lux,
.btn-hero-primary,
.free-call-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.9rem 2.2rem;
  border: 2px solid transparent;
  border-radius: var(--radius-pill);
  font-family: var(--ff-body);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--dur-base) var(--ease),
    box-shadow var(--dur-base) var(--ease),
    background-color var(--dur-base) var(--ease),
    border-color var(--dur-base) var(--ease), color var(--dur-base) var(--ease);
}

.btn-lux {
  letter-spacing: 0.06em;
}

.btn-primary,
.btn-copper,
.btn-hero-primary,
.free-call-btn {
  background: var(--btn-accessible);
  color: #ffffff;
  border-color: var(--btn-accessible);
}

.btn:hover,
.btn-lux:hover,
.btn-hero-primary:hover,
.free-call-btn:hover {
  transform: translateY(-3px);
}

.btn-primary:hover,
.btn-copper:hover,
.btn-hero-primary:hover,
.free-call-btn:hover,
.btn-primary:focus-visible,
.btn-copper:focus-visible,
.btn-hero-primary:focus-visible,
.free-call-btn:focus-visible {
  background: var(--btn-accessible-hover);
  border-color: var(--btn-accessible-hover);
  box-shadow: var(--shadow-copper);
  color: #ffffff;
}


.btn-copper-outline {
  background: transparent;
  color: var(--text-primary);
  border-color: var(--accent-color);
}


.btn-copper-outline:hover {
  background: var(--accent-color);
  color: #ffffff;
  box-shadow: var(--shadow-copper);
}

.btn-hero-primary,
.free-call-btn {
  min-width: 280px;
  min-height: 62px;
  padding: 1rem 2.4rem;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  box-shadow: 0 14px 30px rgba(122, 82, 48, 0.22);
}

.hero .btn-copper-outline {
  min-width: 280px;
  min-height: 62px;
  padding: 1rem 2rem;
  border-width: 2px;
  border-color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.hero .btn-copper-outline:hover {
  background: var(--accent-color);
  border-color: var(--accent-color);
  color: #ffffff;
}

.btn:focus-visible,
.btn-lux:focus-visible,
.btn-hero-primary:focus-visible,
.free-call-btn:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
  box-shadow: 0 0 0 4px var(--accent-color);
}

/* ──────────────────────────────────────────────────────────────────────
   CARTES GÉNÉRIQUES
   ────────────────────────────────────────────────────────────────────── */

.card,
.lux-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-sm);
  color: var(--text-primary);
  transition: transform var(--dur-base) var(--ease),
    box-shadow var(--dur-base) var(--ease),
    border-color var(--dur-base) var(--ease);
}

.card {
  padding: 2rem;
}

.card p,
.lux-card p {
  color: var(--text-secondary);
}

.card:hover,
.lux-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: var(--border-strong);
}

.lux-card {
  overflow: hidden;
}

.lux-card-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.lux-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--ease);
}

.lux-card:hover .lux-card-img {
  transform: scale(1.05);
}

.lux-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 2rem;
}

.lux-card-body h3 {
  margin-bottom: 1rem;
  font-family: var(--ff-display);
  font-size: clamp(1.5rem, 2vw, 1.85rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--text-primary);
}

.lux-card-body p {
  flex: 1;
  margin-bottom: 1.5rem;
}

/* ──────────────────────────────────────────────────────────────────────
   BADGES
   ────────────────────────────────────────────────────────────────────── */

.badge,
.badge-upcoming,
.news-badge,
.news-badge-featured {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.8rem;
  border-radius: var(--radius-pill);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.badge-upcoming,
.news-badge,
.news-badge-featured {
  padding: 0.25rem 0.75rem;
  background: var(--accent-color-accessible);
  color: #ffffff;
}

/* ──────────────────────────────────────────────────────────────────────
   NAVBAR (CORRIGÉE POUR PLEINE LARGEUR & iOS)
   ────────────────────────────────────────────────────────────────────── */

.navbar-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-nav);
  padding: 0.75rem 1rem;
  padding-top: calc(0.75rem + env(safe-area-inset-top));
  transition: transform var(--dur-base) var(--ease),
    opacity var(--dur-base) var(--ease);

  /* FIX PLEINE LARGEUR : Force le wrapper à 100% sans marge */
  width: 100%;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

.navbar-wrapper.nav-hidden {
  transform: translateY(-120%);
  opacity: 0;
}

.navbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0.5rem 1.5rem;
  background: color-mix(in srgb, var(--bg-primary), transparent 8%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  border-radius: 60px;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--dur-base) var(--ease),
    border-color var(--dur-base) var(--ease),
    background var(--dur-base) var(--ease);
}

.navbar-inner.scrolled {
  box-shadow: var(--shadow-md);
}

/* FIX NAV : La balise <nav> gère maintenant le layout */
.navbar.navbar-expand-lg {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0;
  margin: 0;
}

.navbar-brand img {
  display: block;
  width: auto;
  height: 48px;
  transition: transform var(--dur-base) var(--ease);
}

.navbar-brand:hover img {
  transform: scale(1.05);
}

.navbar-nav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0.5rem 0.8rem;
  border-radius: 30px;
  color: var(--text-primary);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  transition: color var(--dur-base) var(--ease),
    background var(--dur-base) var(--ease), outline var(--dur-fast) var(--ease);
}

.nav-link:focus-visible {
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 2px;
}

.nav-link:hover,
.nav-link.active,
.nav-link.active-spy {
  color: var(--accent-color);
  background: rgba(196, 149, 106, 0.15);
}

.nav-link-toggle:hover,
.nav-link-toggle.active,
.nav-link-toggle[aria-expanded="true"] {
  color: var(--accent-color);
  background: rgba(196, 149, 106, 0.22);
  font-weight: 700;
}

.nav-link-toggle:focus-visible {
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 2px;
}

.theme-toggle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-left: 1rem;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  background: transparent;
  color: var(--text-primary);
  cursor: pointer;
  transition: background var(--dur-base) var(--ease),
    color var(--dur-base) var(--ease);
}

.theme-toggle:hover {
  background: rgba(196, 149, 106, 0.1);
  color: var(--accent-color);
}

.theme-toggle:focus-visible {
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 2px;
}

.theme-toggle svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.theme-toggle .icon-sun {
  display: none;
}

.theme-toggle .icon-moon {
  display: block;
}

[data-theme="dark"] .theme-toggle .icon-sun {
  display: block;
}

[data-theme="dark"] .theme-toggle .icon-moon {
  display: none;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .theme-toggle .icon-sun {
    display: block;
  }

  :root:not([data-theme="light"]) .theme-toggle .icon-moon {
    display: none;
  }
}

.navbar-toggler {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.navbar-toggler:focus-visible {
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 2px;
}

.toggler-bar {
  width: 24px;
  height: 2px;
  border-radius: 2px;
  background: var(--text-primary);
  transition: transform var(--dur-base) var(--ease),
    opacity var(--dur-base) var(--ease),
    background-color var(--dur-base) var(--ease);
}

.navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(2) {
  opacity: 0;
}

.navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

.nav-submenu-list {
  padding: 0.5rem;
  margin: 0;
  list-style: none;
}

.nav-submenu .nav-link,
.nav-submenu-list .nav-link {
  min-height: 44px;
  padding: 0.6rem 1rem;
  border-radius: var(--radius);
  color: var(--text-primary);
  font-size: 0.95rem;
  font-weight: 500;
  text-transform: none;
  transition: color var(--dur-fast) var(--ease),
    background var(--dur-fast) var(--ease), outline var(--dur-fast) var(--ease);
}

.nav-submenu-list .nav-link:hover,
.nav-submenu .nav-link:hover {
  color: var(--accent-color);
  background: rgba(196, 149, 106, 0.15);
  text-decoration: none;
}

.nav-submenu-list .nav-link:focus-visible,
.nav-submenu .nav-link:focus-visible {
  color: #ffffff;
  background: var(--accent-color);
  outline: 2px solid var(--focus-outline-color);
  outline-offset: 2px;
  font-weight: 700;
  text-decoration: none;
}

.nav-link-toggle .icon {
  color: currentColor;
}

/* ──────────────────────────────────────────────────────────────────────
   RESPONSIVE NAVBAR & FIX IOS
   ────────────────────────────────────────────────────────────────────── */

@media (max-width: 991.98px) {
  .navbar-wrapper {
    top: 0;
    padding: 0.8rem 1rem;
    /* Force pleine largeur sur mobile */
    width: 100%;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .navbar-inner {
    padding: 0.7rem 1rem;
    border-radius: 2.5rem;
    /* Force pleine largeur interne */
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    border-radius: 0 !important; /* Optionnel : retire les bords arrondis sur mobile */
  }

  .navbar-brand img {
    height: 42px;
  }

  .theme-toggle {
    margin-left: 0;
  }

  .navbar-collapse {
    margin-top: 0.75rem;
    padding: 1rem;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);

    /* FIX IOS : Hauteur dynamique et scroll */
    max-height: calc(100dvh - 100px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transform-origin: top center;
    animation: slideDownMenu 0.3s var(--ease);
  }

  .navbar-collapse .navbar-nav {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0.25rem;
  }

  .navbar-collapse .nav-link {
    width: 100%;
    padding: 0.8rem 1rem;
    border-radius: var(--radius);
  }

  .nav-submenu {
    margin-top: 0.5rem;
    overflow: hidden;
    background: var(--bg-secondary);
    border-radius: var(--radius);
  }

  /* FIX DROPDOWN MOBILE */
  .dropdown-menu {
    position: static;
    float: none;
    width: 100%;
    margin-top: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: rgba(0, 0, 0, 0.03);
    padding-left: 1rem;
  }

  .dropdown-menu.show {
    display: block;
  }
}

@media (min-width: 992px) {
  .navbar-inner {
    padding: 0.55rem 1.4rem;
  }

  .navbar-brand img {
    height: 38px;
  }

  .navbar-collapse {
    display: flex;
    justify-content: flex-end;
  }

  .navbar-nav {
    margin-left: auto;
    gap: 0.65rem;
  }

  .nav-item-more {
    position: relative;
  }

  .nav-submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: var(--z-nav);
    min-width: 220px;
    margin-top: 0.5rem;
    padding: 0.5rem;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    transform: translateX(-50%);
  }
}

@keyframes slideDownMenu {
  from {
    opacity: 0;
    transform: scaleY(0.95);
  }
  to {
    opacity: 1;
    transform: scaleY(1);
  }
}

/* ──────────────────────────────────────────────────────────────────────
   FORMS (FUSIONNÉ ET NETTOYÉ)
   ────────────────────────────────────────────────────────────────────── */

.form-wrapper {
  position: relative;
  overflow: hidden;
  max-width: 700px;
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-2xl);
  box-shadow: var(--form-wrapper-shadow);
}

.float-group {
  position: relative;
  margin-bottom: 1.5rem;
}

.form-control,
.form-select {
  width: 100%;
  padding: 1.2rem 1rem 0.5rem;
  background: var(--bg-primary);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  color: var(--text-primary);
  font-family: var(--ff-body);
  font-size: 1rem;
  transition: border-color var(--dur-base) var(--ease),
    box-shadow var(--dur-base) var(--ease),
    background-color var(--dur-base) var(--ease);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--accent-color);
  outline: none;
  box-shadow: 0 0 0 4px var(--focus-ring);
}

.form-label {
  position: absolute;
  top: 1.2rem;
  left: 1rem;
  padding: 0 4px;
  background: transparent;
  color: var(--label-accessible);
  font-size: 0.95rem;
  pointer-events: none;
  transition: top var(--dur-base) var(--ease), left var(--dur-base) var(--ease),
    color var(--dur-base) var(--ease),
    background-color var(--dur-base) var(--ease),
    font-size var(--dur-base) var(--ease),
    font-weight var(--dur-base) var(--ease);
}

.form-control:focus ~ .form-label,
.form-control:not(:placeholder-shown) ~ .form-label,
.form-select:focus ~ .form-label,
.form-select:not([value=""]) ~ .form-label {
  top: -0.6rem;
  left: 0.8rem;
  background: var(--bg-card);
  color: var(--label-accessible);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

textarea.form-control {
  min-height: 140px;
  resize: vertical;
}

.char-counter {
  margin-top: 0.4rem;
  color: var(--counter-color);
  font-size: 0.8rem;
  text-align: right;
}

.char-counter.warning {
  color: var(--copper);
}

.invalid-feedback {
  display: none;
  margin-top: 0.3rem;
  color: var(--error);
  font-size: 0.85rem;
}

.form-control.is-invalid {
  border-color: var(--error);
  border-width: 2px;
  box-shadow: 0 0 0 4px rgba(176, 0, 32, 0.15);
}

.form-control.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-feedback {
  display: block;
}

.form-check-label {
  color: var(--label-accessible);
}

.form-check-input:checked {
  background-color: var(--accent-color);
  border-color: var(--accent-color);
}

.form-check-input:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 0.25rem var(--focus-ring);
}

.ohnohoney {
  position: absolute;
  left: -9999px;
  opacity: 0;
}

.form-success-overlay {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: var(--bg-card);
  border-radius: var(--radius-2xl);
  text-align: center;
}

.form-success-overlay[hidden] {
  display: none;
}

.success-check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  margin-bottom: 1rem;
  background: var(--sage-pale);
  border-radius: 50%;
  color: var(--sage-deep);
  font-size: 2rem;
}

.btn-reset-form {
  min-height: 44px;
  margin-top: 1rem;
  background: none;
  border: none;
  color: var(--link-color);
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

/* ──────────────────────────────────────────────────────────────────────
   CONTACT LINKS & EXTRAS
   ────────────────────────────────────────────────────────────────────── */

.contact-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  color: var(--text-primary);
  text-decoration: none;
  font-weight: 500;
}

.contact-link:hover {
  color: var(--accent-color);
}

/* ──────────────────────────────────────────────────────────────────────
   FLOATING CTA (FIX CONTRASTE)
   ────────────────────────────────────────────────────────────────────── */

.floating-cta,
.floating-cta.is-visible {
  background-color: var(--accent-color-accessible) !important;
  border-color: var(--accent-color-accessible) !important;
  color: #ffffff !important;
}

.floating-cta:hover,
.floating-cta:focus-visible,
a.floating-cta:hover,
a.floating-cta:focus-visible,
.floating-cta.is-visible:hover,
.floating-cta.is-visible:focus-visible {
  background: var(--accent-color-accessible-hover) !important;
  background-color: var(--accent-color-accessible-hover) !important;
  border-color: var(--accent-color-accessible-hover) !important;
  color: #ffffff !important;
}

.floating-cta-text,
.floating-cta .floating-cta-text,
.floating-cta span {
  color: #ffffff !important;
}

.floating-cta .icon,
.floating-cta svg {
  color: #ffffff !important;
  fill: currentColor !important;
}

/* ──────────────────────────────────────────────────────────────────────
   HERO (AJUSTEMENTS FINS)
   ────────────────────────────────────────────────────────────────────── */

.hero-content {
  width: min(100%, 980px);
  margin: 0 auto;
  padding-inline: 1rem;
  color: #ffffff;
  text-align: center;
}

@media (min-width: 768px) {
  .hero-content {
    padding-inline: 1.5rem;
  }
}

.hero-proof {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: nowrap;
  width: min(100%, 880px);
  margin: 0 auto 1.5rem;
  padding: 0.9rem 1.4rem;
  border-radius: 999px;
  background: rgba(38, 28, 16, 0.68);
  color: #ffffff;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}

.hero-proof-stars {
  flex: 0 0 auto;
  display: inline-block;
  color: #f1d77a;
  font-size: clamp(0.9rem, 1vw + 0.45rem, 1.1rem);
  line-height: 1;
  letter-spacing: 0.08em;
}

.hero-proof-text {
  flex: 0 1 auto;
  display: inline-block;
  font-size: clamp(0.9rem, 0.55vw + 0.72rem, 1.08rem);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-wrap: balance;
}

@media (max-width: 1024px) {
  .hero-proof {
    width: min(100%, 760px);
    gap: 0.65rem;
    padding: 0.85rem 1.1rem;
  }
  .hero-proof-text {
    font-size: 0.98rem;
  }
}

@media (max-width: 640px) {
  .hero-proof {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 0.35rem;
    width: min(100%, 620px);
    padding: 0.8rem 1rem;
    border-radius: 28px;
  }
  .hero-proof-stars {
    font-size: 1rem;
  }
  .hero-proof-text {
    font-size: 0.95rem;
    line-height: 1.3;
    text-wrap: pretty;
  }
}

@media (max-width: 420px) {
  .hero-proof {
    margin-bottom: 1.25rem;
    padding: 0.75rem 0.9rem;
  }
  .hero-proof-text {
    font-size: 0.92rem;
  }
}

.hero-divider,
.hero-line,
.hero-accent-line {
  width: 64px;
  height: 2px;
  margin: 0.75rem auto 1.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
}

@media (max-width: 640px) {
  .hero-divider,
  .hero-line,
  .hero-accent-line {
    width: 56px;
    margin-bottom: 1.2rem;
  }
}

.hero h1,
.hero-title {
  max-width: 12ch;
  margin: 0 auto;
  color: #ffffff;
  font-family: var(--ff-display);
  font-size: clamp(2.4rem, 5vw + 0.8rem, 5.6rem);
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: -0.025em;
  text-align: center;
  text-wrap: balance;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.16);
}

@media (max-width: 991.98px) {
  .hero h1,
  .hero-title {
    max-width: 11ch;
    font-size: clamp(2.2rem, 6vw + 0.4rem, 4.6rem);
    line-height: 1.05;
  }
}

@media (max-width: 640px) {
  .hero h1,
  .hero-title {
    max-width: 10ch;
    font-size: clamp(2.1rem, 7vw + 0.25rem, 3.8rem);
    line-height: 1.07;
  }
}

.hero-subtitle,
.hero .lead,
.hero p.lead {
  max-width: 30ch;
  margin: 1rem auto 2rem;
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--ff-body);
  font-size: clamp(1rem, 0.45vw + 0.92rem, 1.16rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.55;
  text-align: center;
  text-wrap: balance;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.18);
}

@media (max-width: 768px) {
  .hero-subtitle,
  .hero .lead,
  .hero p.lead {
    max-width: 26ch;
    margin: 0.95rem auto 1.7rem;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.hero-actions,
.hero-cta-group,
.hero-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 0.25rem;
}

@media (max-width: 640px) {
  .hero-actions,
  .hero-cta-group,
  .hero-buttons {
    gap: 0.9rem;
  }
}

.btn-hero-primary,
.free-call-btn,
.hero .btn-copper-outline {
  min-width: clamp(250px, 70vw, 320px);
}

@media (max-width: 640px) {
  .btn-hero-primary,
  .free-call-btn,
  .hero .btn-copper-outline {
    width: min(100%, 340px);
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .btn-hero-primary,
  .free-call-btn {
    min-height: 58px;
    padding: 0.95rem 1.5rem;
    font-size: 0.9rem;
    letter-spacing: 0.035em;
  }

  
  .hero .btn-copper-outline {
    min-height: 58px;
    padding: 0.95rem 1.35rem;
    font-size: 0.9rem;
    letter-spacing: 0.035em;
  }
}

.hero {
  position: relative;
}

.hero .container,
.hero .hero-inner {
  position: relative;
  z-index: 2;
}

@media (max-width: 640px) {
  .hero-content {
    padding-inline: 0.9rem;
  }
}

/* ──────────────────────────────────────────────────────────────────────
   FIX SPÉCIFIQUE SAFARI iOS (TOUCH & TAP)
   ────────────────────────────────────────────────────────────────────── */

.navbar-toggler,
.nav-link,
.dropdown-item,
.theme-toggle {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.navbar-toggler,
.nav-link,
.dropdown-item,
.theme-toggle,
.btn {
  -webkit-tap-highlight-color: transparent;
}
/* modern-perf.css
   Objectif: garder un rendu moderne, premium et fluide
   Compatibilité: Safari, Chrome, Edge, Firefox
*/

:root {
  --surface-shadow-soft: 0 8px 24px rgba(46, 61, 79, 0.08);
  --surface-shadow-hover: 0 12px 28px rgba(46, 61, 79, 0.12);
}

/* Décor global allégé */
body::after {
  display: none;
}

/* Navbar */
.navbar-inner {
  background: color-mix(in srgb, var(--bg-primary), transparent 8%);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--surface-shadow-soft);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

@media (max-width: 991.98px) {
  .navbar-inner {
    background: var(--bg-card);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* Hero */
.hero-overlay {
  background: linear-gradient(rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0.62));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.hero-proof,
.hero-quote {
  background: rgba(38, 28, 16, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Surfaces */
.card,
.lux-card,
.problem-card,
.value-card,
.workshop-card,
.testi-card,
.free-call-card,
.form-wrapper {
  box-shadow: var(--surface-shadow-soft);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Motion minimaliste */
.hero-proof,
.hero-line,
.hero-subtitle,
.hero-micro,
.scroll-hint,
.rv,
.rv-field,
.reveal,
.rv-left,
.rv-right,
.rv-scale,
.hero-element {
  animation: none;
  transition: none;
  opacity: 1;
  transform: none;
}

.hero h1,
.hero-ctas {
  animation: fadeSlideUp 0.45s var(--ease) both;
}

/* Hover seulement là où utile */
.card:hover,
.lux-card:hover,
.problem-card:hover,
.value-card:hover,
.workshop-card:hover,
.testi-card:hover,
.btn:hover,
.social-btn:hover,
.floating-cta:hover {
  transform: none;
}

@media (hover: hover) and (pointer: fine) {
  .btn:hover,
  .social-btn:hover,
  .floating-cta:hover {
    transform: translateY(-2px);
  }

  .lux-card:hover .lux-card-img {
    transform: scale(1.02);
  }

  .card:hover,
  .problem-card:hover,
  .value-card:hover,
  .workshop-card:hover {
    box-shadow: var(--surface-shadow-hover);
  }
}

/* Mobile: simplicité maximale */
@media (max-width: 767.98px) {
  .navbar-inner,
  .hero-proof,
  .hero-quote,
  .problem-card,
  .free-call-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .scroll-hint {
    display: none;
  }
}
