/* =========================================================
   NET243 SARL — charte visuelle du site vitrine
   Orange du logo (#e8912d / #c46f12) + noir, police Poppins.
   Chargée en dernier : elle prime sur le modèle Onix.
   ========================================================= */

:root {
  --n243-orange: #e8912d;
  --n243-orange-fonce: #c46f12;
  --n243-orange-pale: #fdf3e7;
  --n243-noir: #161616;
  --n243-noir-doux: #2a2a2a;
  --n243-texte: #4a4a4a;
  --n243-gris: #f6f3ee;
  --n243-bord: #e4ddd2;
  --n243-degrade: linear-gradient(105deg, #e8912d 0%, #c46f12 100%);
}

html { scroll-padding-top: 90px; }

/* ---------- Alignement sur la ligne du menu ----------
   Largeur du contenu = largeur utile du .container Bootstrap (largeur - 24 px de marges).
   Les blocs colorés (chiffres Academy, inscription, pied de page), l'image de la bannière
   et le carrousel des formations s'arrêtent à cette ligne au lieu d'aller aux bords de l'écran. */
:root { --n243-contenu: calc(100vw - 24px); }
@media (min-width: 576px)  { :root { --n243-contenu: 516px; } }
@media (min-width: 768px)  { :root { --n243-contenu: 696px; } }
@media (min-width: 992px)  { :root { --n243-contenu: 936px; } }
@media (min-width: 1200px) { :root { --n243-contenu: 1116px; } }
@media (min-width: 1400px) { :root { --n243-contenu: 1296px; } }

.academy-stats,
#academy-register,
footer.n243-footer {
  width: auto;
  max-width: var(--n243-contenu);
  margin-left: auto !important;
  margin-right: auto !important;
}
.academy-stats { border-radius: 16px; }
#academy-register { border-radius: 16px; margin-top: 30px !important; }
footer.n243-footer { border-radius: 16px 16px 0 0; }
.academy-stats > .container,
#academy-register > .container,
footer.n243-footer .container { max-width: 100%; padding-left: 24px; padding-right: 24px; }
/* ---------- Espacements plus serrés entre les sections ---------- */
#services, #propos, #academy { padding-top: 20px !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.main-banner { margin-bottom: 0 !important; padding-bottom: 30px !important; }
.academy-stats { padding: 36px 0 !important; margin-top: 30px !important; }
#academy-register { padding: 30px 0 30px !important; margin-top: 24px !important; margin-bottom: 0 !important; }
#starlink { padding-top: 20px !important; padding-bottom: 0 !important; margin-top: 0 !important; }
#equipe { padding: 20px 0 0 !important; margin-top: 0 !important; }
#contact { padding: 30px 0 10px !important; margin: 0 !important; }
.section-heading { margin-bottom: 30px !important; margin-top: 0 !important; }
.n243-academy-cta { margin: 20px 0 0 !important; }
#starlink .starlink-promo-row { margin-bottom: 30px !important; }
/* le pied de page ne recouvre plus la fin de la section Contact (marge -50 px du modèle) */
footer.n243-footer { padding-top: 40px !important; margin-top: 30px !important; }

/* La copie de Bootstrap du site n'a pas la classe .col-lg-3 (4 colonnes) : on la rétablit. */
@media (min-width: 992px) { .row > .col-lg-3 { flex: 0 0 auto; width: 25%; } }
/* décors du modèle collés aux bords de l'écran : masqués */
.services-right-dec, .services-left-dec, .portfolio-left-dec { display: none !important; }
.our-portfolio .owl-carousel .owl-stage-outer { border-radius: 12px; }
body { font-family: 'Poppins', sans-serif; color: var(--n243-texte); overflow-x: hidden; }
::selection { background: var(--n243-orange); color: #fff; }
a { color: var(--n243-orange-fonce); }
a:hover { color: var(--n243-noir); }

/* ---------- Pré-chargement ---------- */
.preloader-inner, .js-preloader { background: #fff; }
.preloader-inner .dot, .preloader-inner .dots span { background: var(--n243-orange); }

/* ---------- En-tête ---------- */
.header-area {
  background-color: #fff;
  height: 90px;
  box-shadow: none;
  border-bottom: none;
}
/* le liseré orange suit la largeur du menu (logo → Webmail) */
.header-area .main-nav { min-height: 90px; display: flex; align-items: center; justify-content: space-between; border-bottom: 3px solid var(--n243-orange); }
.background-header { height: 80px !important; border-bottom: none; box-shadow: 0 6px 14px -10px rgba(0,0,0,0.25) !important; }
.background-header .main-nav { min-height: 80px; }

.header-area .main-nav .logo.n243-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  line-height: 1;
  float: none;
  margin-right: 30px;
  text-transform: none;
  letter-spacing: 0;
  text-decoration: none;
}
.n243-logo img { height: 54px; width: auto; display: block; }
.background-header .n243-logo img { height: 48px; }
.n243-logo .n243-wordmark { display: flex; flex-direction: column; line-height: 1.05; }
.n243-logo .n243-name { font-size: 26px; font-weight: 800; color: var(--n243-noir); letter-spacing: 1px; }
.n243-logo .n243-name b { color: var(--n243-orange-fonce); font-weight: 800; }
.n243-logo .n243-name small { font-size: 13px; font-weight: 600; color: var(--n243-noir); margin-left: 4px; letter-spacing: 2px; }

/* Animation du nom (comme avant la refonte) : dégradé qui tourne + pulsation sur NET243,
   reflet qui passe sur SARL, léger zoom au survol. */
.n243-logo .brand-main {
  display: inline-block;
  background: linear-gradient(0deg, #e8912d, #d9381e, #f4c430, #c46f12);
  background-size: 400% 400%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: n243Degrade 6s linear infinite, n243Pulse 2s ease-in-out infinite alternate;
  transform-origin: left center;
}
/* SARL garde toujours sa place : NET243 grandit vers la gauche/le haut sans le recouvrir */
.n243-logo .n243-name { display: inline-flex; align-items: baseline; }
.n243-logo .brand-main { transform-origin: right bottom !important; margin-left: 4px; }
.n243-logo .n243-name .brand-sub { position: relative; z-index: 1; margin-left: 10px !important; }
.n243-logo .brand-sub { position: relative; overflow: hidden; display: inline-block; transition: transform .4s ease; }
.n243-logo .brand-sub::before {
  content: ''; position: absolute; top: 0; left: -75%; width: 50%; height: 100%;
  background: linear-gradient(120deg, rgba(255,255,255,0.8), rgba(255,255,255,0));
  transform: skewX(-25deg);
  animation: n243Reflet 3s linear infinite;
}
.n243-logo:hover .brand-main { animation: n243Degrade 6s linear infinite; transform: scale(1.08); transition: transform .4s ease; }
.n243-logo:hover .brand-sub { transform: scale(1.1); }
.header-area.scrolled .n243-logo .brand-main { animation-duration: 4s, 1.5s; }
.n243-logo .brand-sub,
.header-area.scrolled .n243-logo .brand-sub,
.header-sticky.scrolled .n243-logo .brand-sub { color: var(--n243-noir) !important; }
@keyframes n243Degrade { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
@keyframes n243Pulse { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.06); opacity: .92; } 100% { transform: scale(1); opacity: 1; } }
@keyframes n243Reflet { 0% { left: -75%; } 100% { left: 125%; } }
@media (prefers-reduced-motion: reduce) {
  .n243-logo .brand-main, .n243-logo .brand-sub::before { animation: none; }
}
.n243-logo .n243-tagline { font-size: 10.5px; font-weight: 500; color: #6d6a65; letter-spacing: .3px; margin-top: 3px; }

.header-area .main-nav .nav { float: none; margin: 0 !important; display: flex; align-items: center; }
.header-area .main-nav .nav li { padding-left: 11px; padding-right: 11px; }
.header-area .main-nav .nav li:last-child { padding-left: 11px; padding-right: 0; }
.header-area .main-nav .nav li a,
.background-header .main-nav .nav li a { color: var(--n243-noir-doux) !important; font-size: 14px; letter-spacing: .3px; position: relative; }
.header-area .main-nav .nav li:hover a,
.header-area .main-nav .nav li a.active,
.background-header .main-nav .nav li:hover a,
.background-header .main-nav .nav li a.active { color: var(--n243-orange-fonce) !important; }
.header-area .main-nav .nav li a.active::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 4px; height: 2px; background: var(--n243-orange); border-radius: 2px;
}
.header-area .main-nav .nav li.n243-webmail a {
  background: var(--n243-noir); color: #fff !important; border-radius: 22px; padding: 0 18px; height: 38px; line-height: 38px;
}
.header-area .main-nav .nav li.n243-webmail a:hover { background: var(--n243-orange-fonce); color: #fff !important; }
.header-area .main-nav .nav li.n243-webmail a::after { display: none; }

/* bouton menu (mobile) */
.header-area .main-nav .menu-trigger { display: none; position: static; width: 32px; height: 40px; cursor: pointer; text-indent: -9999em; }
.header-area .main-nav .menu-trigger span,
.header-area .main-nav .menu-trigger span:before,
.header-area .main-nav .menu-trigger span:after { background-color: var(--n243-noir) !important; }

.header-area .main-nav .nav li a,
.main-blue-button-hover a, .main-button a, .btn-n243 { text-transform: none !important; }
.header-area .main-nav .nav { flex-wrap: nowrap; }
.header-area .main-nav .nav li a { white-space: nowrap; }

@media (max-width: 1399px) {
  .n243-logo .n243-tagline { display: none; }
  .header-area .main-nav .nav li { padding-left: 9px; padding-right: 9px; }
}
@media (max-width: 1199px) {
  .header-area .main-nav .nav li { padding-left: 7px; padding-right: 7px; }
  .header-area .main-nav .nav li a { font-size: 13px; letter-spacing: 0; }
  .n243-logo .n243-tagline { display: none; }
}

@media (max-width: 991px) {
  .header-area, .background-header { height: 76px !important; padding: 0; text-align: left; }
  .header-area .main-nav { min-height: 73px; position: relative; overflow: visible; padding: 0 4px; }
  .header-area .main-nav .logo.n243-logo { margin: 0; }
  .n243-logo img, .background-header .n243-logo img { height: 46px; }
  .n243-logo .n243-name { font-size: 22px; }
  .header-area .main-nav .menu-trigger { display: block !important; position: relative; top: auto; right: auto; }
  .header-area .main-nav .nav,
  .background-header .main-nav .nav {
    display: none;
    position: absolute;
    top: 73px; left: -12px; right: -12px;
    margin: 0 !important;
    flex-direction: column;
    align-items: stretch;
    background: #fff;
    box-shadow: 0 12px 24px rgba(0,0,0,0.12);
    border-top: 3px solid var(--n243-orange);
    z-index: 999;
  }
  .header-area .main-nav .nav.n243-open { display: flex !important; }
  .header-area .main-nav .nav li,
  .header-area .main-nav .nav li:last-child { display: block !important; width: 100%; padding: 0 !important; border-bottom: 1px solid #eee; }
  .header-area .main-nav .nav li a { height: 50px !important; line-height: 50px !important; padding: 0 22px !important; background: #fff !important; text-align: left; }
  .header-area .main-nav .nav li a.active::after { display: none; }
  .header-area .main-nav .nav li.n243-webmail a { border-radius: 0; background: var(--n243-noir) !important; color: #fff !important; }
}
@media (min-width: 992px) {
  .header-area .main-nav .nav { display: flex !important; }
}

/* ---------- Bannière ---------- */
/* La bannière est une carte alignée sur le menu ; l'image reste entière à l'intérieur. */
.main-banner {
  max-width: var(--n243-contenu);
  margin: 110px auto 0 !important;
  padding: 70px 0 50px !important;
  border-radius: 16px;
  background: linear-gradient(180deg, #fff 0%, var(--n243-orange-pale) 100%);
  overflow: hidden;
}
.main-banner::after { display: none !important; content: none !important; }
.main-banner::before {
  right: 24px; top: 30px; bottom: 30px; height: auto; width: 44%; max-width: none;
  background-size: contain; background-position: right center; z-index: 0;
}
.main-banner .container { position: relative; z-index: 2; max-width: 100%; padding-left: 40px; padding-right: 40px; }
.main-banner .item { margin-right: 0; }
.main-banner .item h2 { color: var(--n243-noir); font-size: 46px; line-height: 1.3; }
.main-banner .item h2 em { color: var(--n243-orange-fonce); }
.main-banner .item h2 span { display: block; color: var(--n243-noir); font-size: .62em; font-weight: 600; margin-top: 10px; }
.main-banner .item p { color: var(--n243-texte); font-size: 16px; }
.main-banner .item .down-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.main-banner .item .down-buttons .call-button a { color: var(--n243-noir); margin-left: 0; font-weight: 600; }
.main-banner .item .down-buttons .call-button i { background: var(--n243-degrade); color: #fff; }
.main-banner .owl-dot:before { color: var(--n243-noir-doux); }
.main-banner .active:before { color: var(--n243-orange-fonce); border-bottom-color: var(--n243-orange-fonce); }

@media (max-width: 1199px) {
  .main-banner::before { width: 42%; }
  .main-banner .item h2 { font-size: 38px; }
}
@media (max-width: 991px) {
  body { padding-top: 0 !important; }
  .main-banner { margin-top: 90px !important; padding: 40px 0 30px !important; }
  .main-banner .container { padding-left: 20px; padding-right: 20px; }
  .main-banner::before { display: none !important; }
  .main-banner .item h2 { font-size: 32px; }
}
@media (max-width: 575px) {
  .main-banner .item h2 { font-size: 26px; margin-top: 0 !important; }
}

/* ---------- Boutons ---------- */
.main-blue-button-hover a,
.main-blue-button a,
.main-button a,
.pricing-item .main-button a,
.main-button-styled,
.btn-n243 {
  display: inline-block;
  background: var(--n243-degrade) !important;
  color: #fff !important;
  border: none;
  border-radius: 30px;
  padding: 12px 30px;
  font-weight: 600;
  font-size: 14px;
  transition: all .3s ease;
}
.main-blue-button-hover a:hover,
.main-blue-button a:hover,
.main-button a:hover,
.pricing-item .main-button a:hover,
.main-button-styled:hover,
.btn-n243:hover { background: var(--n243-noir) !important; color: #fff !important; }
.btn-n243-light {
  display: inline-block; background: #fff; color: var(--n243-noir); border: 2px solid var(--n243-bord);
  border-radius: 30px; padding: 12px 30px; font-weight: 600; font-size: 14px; transition: all .3s ease;
}
.btn-n243-light:hover { border-color: var(--n243-noir); }

/* ---------- Titres de section ---------- */
.section-heading h2 { color: var(--n243-noir); }
.section-heading h2 em { color: var(--n243-orange-fonce); font-style: normal; }
.section-heading h2 span { color: var(--n243-noir); }
.section-heading h2 { text-transform: none !important; }
.section-heading .n243-eyebrow { opacity: 1 !important; }
/* décors du modèle (corail/bleu) teintés à l'orange de la marque */
.services-right-dec img, .services-left-dec img, .portfolio-left-dec img,
.tables-left-dec img, .tables-right-dec img, .contact-dec img, .contact-left-dec img {
  filter: grayscale(1) sepia(1) saturate(3) hue-rotate(-12deg); opacity: .35;
}
.section-heading .n243-eyebrow,
.n243-eyebrow {
  display: inline-block; color: var(--n243-orange-fonce) !important; font-size: 13px !important; line-height: 1.5; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; margin-bottom: 12px;
}
.n243-eyebrow::before { content: ''; display: inline-block; width: 28px; height: 3px; background: var(--n243-orange); vertical-align: middle; margin-right: 10px; border-radius: 2px; }

/* ---------- Services ---------- */
.our-services .item { border-top: 4px solid var(--n243-orange); border-bottom: 4px solid var(--n243-orange); border-radius: 12px; }
/* cartes de même hauteur : les barres orange du bas sont alignées */
.owl-services .owl-stage { display: flex; }
.owl-services .owl-item { display: flex; }
.owl-services .owl-item .item { width: 100%; height: auto; }
.our-services .item h4 { color: var(--n243-noir); }
.our-services .owl-dots .owl-dot { background: var(--n243-bord) !important; }
.our-services .owl-dots .active { background: var(--n243-orange) !important; }
.our-services .services-right-dec img { opacity: .35; }

/* ---------- À propos / chiffres ---------- */
.about-us .fact-item { border-radius: 12px; }
.about-us .fact-item .count-digit { color: var(--n243-orange-fonce); }
.about-us .fact-item .count-title { color: var(--n243-noir); }

/* Chiffres dynamiques : le compteur et son suffixe gardent la taille du chiffre
   (les styles .section-heading span / .pricing-item h1 span du modèle ne s'appliquent pas) */
.count-digit .counter, .count-digit [data-suffixe],
.stat-box h2 .counter, .stat-box h2 [data-suffixe],
.pricing-item h1 .counter, .pricing-item h1 [data-suffixe] {
  display: inline; font: inherit; letter-spacing: inherit; opacity: 1; margin: 0; padding: 0;
  text-transform: none; font-variant-numeric: tabular-nums;
}
.about-us .fact-item .count-digit .counter { color: var(--n243-noir) !important; }
.about-us .fact-item .count-digit [data-suffixe] { color: var(--n243-orange-fonce) !important; }
.stat-box h2 .counter, .stat-box h2 [data-suffixe] { color: var(--n243-orange) !important; }
.pricing-item h1 .counter, .pricing-item h1 [data-suffixe] { color: var(--n243-noir) !important; }
.n243-qui { color: var(--n243-texte); font-size: 15px; line-height: 1.7; margin: 10px 0 25px; }

/* Chiffres « Qui sommes-nous ? » en cartes : 2 par ligne (3 colonnes étaient trop serrées
   dans la demi-largeur), icône dans une pastille à côté du chiffre, texte aligné à gauche. */
.about-us .section-heading > .row {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0;
}
.about-us .section-heading > .row > [class*="col-"] { width: auto; max-width: none; flex: none; padding: 0; }
.about-us .fact-item {
  margin: 0 !important; height: 100%; text-align: left !important;
  background: #fff; border: 1px solid var(--n243-bord); border-top: 3px solid var(--n243-orange);
  border-radius: 14px; padding: 18px 18px 16px;
  box-shadow: 0 8px 22px rgba(196,111,18,.08); transition: transform .2s ease, box-shadow .2s ease;
}
.about-us .fact-item:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(196,111,18,.16); }
.about-us .fact-item .count-area-content {
  display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 14px; align-items: center;
}
.about-us .fact-item .icon {
  grid-row: 1 / span 2; width: 52px !important; height: 52px !important; margin: 0 !important;
  border-radius: 50%; background: #fff4e6; display: flex; align-items: center; justify-content: center;
}
.about-us .fact-item .icon img { width: 30px; height: 30px; max-width: 30px; object-fit: contain; }
.about-us .fact-item .count-digit { font-size: 34px; line-height: 1.05; margin: 0; }
.about-us .fact-item .count-title { font-size: 14.5px; line-height: 1.3; margin: 2px 0 0; }
.about-us .fact-item p {
  grid-column: 1 / -1; text-align: left !important; hyphens: auto;
  margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--n243-bord);
  font-size: 14px; line-height: 1.6; color: var(--n243-texte);
}
@media (max-width: 575px) {
  .about-us .section-heading > .row { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Academy ---------- */
.our-portfolio .item .hover-effect { background: rgba(22,22,22,.82); }
.our-portfolio .item .hover-effect .inner-content h4 { color: #fff; }
.our-portfolio .item .hover-effect .inner-content span { color: var(--n243-orange); }
.our-portfolio .item .hover-effect .inner-content span.n243-duree { display: block; color: #fff; font-size: 13px; margin-top: 6px; }
.owl-portfolio .owl-dots .owl-dot { background: var(--n243-bord) !important; }
.owl-portfolio .owl-dots .active { background: var(--n243-orange) !important; }
.owl-portfolio .owl-nav .owl-prev span:after,
.owl-portfolio .owl-nav .owl-next span:after { background-color: var(--n243-orange-fonce) !important; color: #fff; }
.academy-stats { background: var(--n243-noir); padding: 60px 0; }
.academy-stats .stat-box h2 { color: var(--n243-orange); }
.academy-stats .stat-box p, .academy-stats .stat-box p strong { color: #fff; }
.n243-academy-cta { text-align: center; margin: 40px 0 70px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px; }
.n243-voir-catalogue { padding: 12px 26px; }
.our-portfolio .n243-thumb-lien { display: block; position: relative; }
#formation.n243-preselection { border-color: var(--n243-orange); box-shadow: 0 0 0 3px rgba(232,145,45,.2); }

#academy-register { padding: 90px 0; background: var(--n243-gris); }
#academy-register .section-heading img { border-radius: 12px; margin-top: 20px; max-width: 100%; height: auto; }
.academy-form input, .academy-form select, .academy-form textarea {
  width: 100%; margin-bottom: 15px; padding: 12px 14px; border-radius: 8px; border: 1px solid var(--n243-bord); background: #fff; font-family: inherit;
}
.academy-form input:focus, .academy-form select:focus, .academy-form textarea:focus,
.contact-form-styled .form-control:focus { outline: none; border-color: var(--n243-orange); box-shadow: 0 0 0 3px rgba(232,145,45,.2); }
.academy-form button[type="submit"], .academy-form .main-button {
  background: var(--n243-degrade) !important; color: #fff !important; border: none; border-radius: 30px; padding: 12px 26px; font-weight: 600;
}
.academy-form button[type="submit"]:hover { background: var(--n243-noir) !important; }
.academy-form button[type="reset"], .cancel-button-styled {
  background: #fff !important; color: var(--n243-noir) !important; border: 2px solid var(--n243-bord) !important; border-radius: 30px; padding: 12px 26px; font-weight: 600;
}
.academy-whatsapp-badge i { color: #25D366; font-size: 22px; }

/* Inscription : choix du mode (en ligne / WhatsApp) */
.n243-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.n243-mode { position: relative; cursor: pointer; margin: 0; }
.n243-mode input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.n243-mode span {
  display: block; height: 100%; background: #fff; border: 2px solid var(--n243-bord); border-radius: 12px;
  padding: 12px 14px 12px 48px; position: relative; transition: border-color .2s, box-shadow .2s;
}
.n243-mode i { position: absolute; left: 14px; top: 14px; font-size: 22px; color: var(--n243-orange-fonce); }
.n243-mode input[value="whatsapp"] + span i { color: #25D366; }
.n243-mode b { display: block; color: var(--n243-noir); font-size: 14px; }
.n243-mode small { display: block; color: #6d6a65; font-size: 12px; line-height: 1.4; margin-top: 2px; }
.n243-mode input:checked + span { border-color: var(--n243-orange); box-shadow: 0 0 0 3px rgba(232,145,45,.18); background: var(--n243-orange-pale); }
.n243-mode input:focus-visible + span { outline: 2px solid var(--n243-orange-fonce); outline-offset: 2px; }
.n243-piege { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.n243-retour { border-radius: 8px; padding: 12px 14px; margin-bottom: 15px; font-size: 14px; line-height: 1.5; }
.n243-retour.ok { background: #e9f7ef; color: #1f6b40; border-left: 4px solid #1f8a4c; }
.n243-retour.erreur { background: #fdecea; color: #8c2b20; border-left: 4px solid #c0392b; }
.academy-form button[disabled], .contact-form-styled button[disabled] { opacity: .7; cursor: wait; }
.n243-retour a { font-weight: 700; color: inherit; text-decoration: underline; white-space: nowrap; }
.academy-form button, .contact-form-styled button { text-transform: none !important; }
@media (max-width: 480px) { .n243-modes { grid-template-columns: 1fr; } }

/* ---------- Starlink ---------- */
#starlink .starlink-badge {
  background: var(--n243-noir); color: #fff; display: inline-block; padding: 6px 18px; border-radius: 20px; font-weight: 600; margin-top: 10px;
}
#starlink .section-heading h2 em { color: var(--n243-orange-fonce); }
.pricing-item { border-radius: 14px; border: 1px solid var(--n243-bord); }
.pricing-item h1 { color: var(--n243-noir); }
.pricing-item h1 span { color: var(--n243-orange-fonce); }
.pricing-item.featured { border: 2px solid var(--n243-orange) !important; box-shadow: 0 14px 30px rgba(196,111,18,.18); }
.pricing-item ul li i, .pricing-item .fa-check { color: var(--n243-orange-fonce) !important; }

/* ---------- Équipe ---------- */
#equipe { padding: 80px 0 40px; background: #fff; overflow: hidden; }
#equipe .n243-team-card {
  background: var(--n243-gris); padding: 30px 20px; text-align: center; border-radius: 14px; height: 100%;
  border-bottom: 4px solid var(--n243-orange); transition: transform .3s ease, box-shadow .3s ease;
}
#equipe .n243-team-card:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0,0,0,.08); }
#equipe .n243-avatar {
  width: 125px; height: 125px; margin: 0 auto 18px; border-radius: 50%; overflow: hidden; background: #fff;
  border: 4px solid #fff; box-shadow: 0 0 0 3px var(--n243-orange);
}
#equipe .n243-avatar img { width: 100%; height: 100%; object-fit: cover; }
#equipe .n243-team-card h4 { font-size: 16px; font-weight: 700; color: var(--n243-noir); margin-bottom: 6px; }
#equipe .n243-team-card span { display: block; font-size: 11.5px; font-weight: 600; letter-spacing: .5px; color: var(--n243-orange-fonce); margin-bottom: 10px; }
#equipe .n243-team-card p { font-size: 13px; color: #666; line-height: 1.5; margin: 0; }
#equipe .profil-membre { margin-bottom: 30px; border: none; padding: 0 12px; }
#equipe .profil-membre:target .n243-team-card,
#equipe .profil-membre.profil-selectionne .n243-team-card {
  background: var(--n243-orange-pale); box-shadow: 0 0 0 3px var(--n243-orange), 0 14px 28px rgba(0,0,0,.12); transform: scale(1.02);
}
#equipe .profil-membre:target, #equipe .profil-membre.profil-selectionne { border: none !important; background: none !important; transform: none; }

/* ---------- Pied de page : liste des services (puces + liens) ---------- */
.n243-footer ul.n243-liste-services { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 14px; }
.n243-footer .n243-liste-services li { line-height: 1.3; font-size: 13px; }
.n243-liste-services a.n243-lien-service {
  display: flex; align-items: center; gap: 9px; padding: 5px 8px 5px 5px; margin-left: -5px;
  border-radius: 8px; color: #e6e1d9; text-decoration: none; transition: background .25s, color .25s;
}
.n243-liste-services a.n243-lien-service i {
  flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; color: #fff; background: rgba(232,145,45,.18); border: 1px solid rgba(232,145,45,.55); transition: background .25s, transform .25s;
}
.n243-liste-services a.n243-lien-service span { flex: 1; position: relative; }
.n243-liste-services a.n243-lien-service::after {
  content: '\f105'; font-family: FontAwesome; color: var(--n243-orange); opacity: 0; transform: translateX(-6px); transition: opacity .25s, transform .25s;
}
.n243-liste-services a.n243-lien-service:hover,
.n243-liste-services a.n243-lien-service:focus-visible { background: rgba(255,255,255,.06); color: #fff; outline: none; }
.n243-liste-services a.n243-lien-service:hover i,
.n243-liste-services a.n243-lien-service:focus-visible i { background: var(--n243-degrade); transform: scale(1.08); }
.n243-liste-services a.n243-lien-service:hover::after,
.n243-liste-services a.n243-lien-service:focus-visible::after { opacity: 1; transform: none; }
.n243-liste-services a.n243-lien-service::after { display: none; }
@media (max-width: 420px) { .n243-footer ul.n243-liste-services { grid-template-columns: 1fr; } }
/* pied de page plus compact */
.n243-footer .n243-col-coordonnees li { line-height: 1.6; }
footer.n243-footer .n243-bottom { margin-top: 15px; padding: 14px 0; }

/* carte service mise en évidence quand on arrive depuis le pied de page */
.our-services .item.n243-service-cible { animation: n243Cible 2.4s ease; }
@keyframes n243Cible {
  0%, 100% { box-shadow: 0 0 0 0 rgba(232,145,45,0); }
  20%, 70% { box-shadow: 0 0 0 4px rgba(232,145,45,.85), 0 16px 30px rgba(196,111,18,.25); }
}

/* ---------- « SARL » toujours en noir ---------- */
.n243-sarl { color: var(--n243-noir) !important; -webkit-text-fill-color: var(--n243-noir); font-style: normal; }
/* le modèle grossit et pâlit tout <span> d'un .section-heading (30px, opacité .15) : SARL garde la taille du texte */
.section-heading .n243-sarl { font-size: inherit; font-weight: inherit; opacity: 1; text-transform: none; }
/* sur fond noir : pastille blanche pour que le noir reste lisible */
footer.n243-footer .n243-sarl,
.n243-citation .n243-sarl,
.academy-stats .n243-sarl {
  background: #fff; padding: 0 .35em; border-radius: 4px; display: inline-block; line-height: 1.35;
}

/* ---------- Notre équipe (texte) ---------- */
.n243-equipe-intro { font-size: 18px; line-height: 1.8; color: var(--n243-texte); margin: 0 auto 30px; }
.n243-valeurs { margin-bottom: 10px; }
.n243-valeur {
  height: calc(100% - 24px); margin-bottom: 24px; padding: 28px 26px; border-radius: 14px; background: var(--n243-gris);
  border-top: 4px solid var(--n243-orange); transition: transform .3s ease, box-shadow .3s ease;
}
.n243-valeur:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0,0,0,.08); }
.n243-valeur-icone {
  display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%;
  background: var(--n243-degrade); color: #fff; font-size: 22px; margin-bottom: 16px;
}
.n243-valeur h4 { font-size: 18px; font-weight: 700; color: var(--n243-noir); margin-bottom: 10px; }
.n243-valeur p { font-size: 14.5px; line-height: 1.75; color: var(--n243-texte); margin: 0; }
.n243-citation {
  position: relative; margin: 10px 0 0; padding: 34px 40px 28px 70px; border-radius: 16px; background: var(--n243-noir); color: #fff;
}
.n243-citation::before {
  content: '\201C'; position: absolute; left: 22px; top: 6px; font-size: 80px; line-height: 1; color: var(--n243-orange); font-family: Georgia, serif;
}
.n243-citation p { font-size: 17px; line-height: 1.8; font-style: italic; color: #f1ece4; margin: 0 0 14px; }
.n243-citation footer { color: var(--n243-orange); font-weight: 600; font-size: 14px; }
.n243-equipe-cta { text-align: center; margin-top: 26px; }
.n243-equipe-cta p { font-size: 16px; font-weight: 600; color: var(--n243-noir); margin-bottom: 12px; }
@media (max-width: 767px) {
  .n243-equipe-intro { font-size: 16px; }
  .n243-citation { padding: 30px 20px 22px 24px; }
  .n243-citation::before { font-size: 60px; left: 10px; top: -6px; }
  .n243-citation p { font-size: 15.5px; }
}

/* ---------- Contact ---------- */
#contact { padding: 100px 0 80px; background: #fff; }
.icon-box { width: 50px; height: 50px; background: var(--n243-degrade) !important; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 15px; flex-shrink: 0; }
.text-box h5 { color: var(--n243-noir); }
/* Réseaux sociaux sur une ligne (Contact) ; « a-venir » = adresse pas encore connue */
.n243-reseaux { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.n243-reseau {
  width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: #fff4e6; color: var(--n243-orange-fonce) !important; border: 1px solid #f3d9b8;
  font-size: 17px; text-decoration: none; transition: background .2s, color .2s, transform .2s;
}
.n243-reseau svg { width: 16px; height: 16px; fill: currentColor; }
a.n243-reseau:hover, a.n243-reseau:focus-visible { background: var(--n243-orange-fonce); color: #fff !important; transform: translateY(-2px); }
.n243-reseau.a-venir { opacity: .45; cursor: default; filter: grayscale(.3); }
.text-box a { color: var(--n243-orange-fonce); }
a[href^="tel:"] { white-space: nowrap; }
/* mention de confidentialité sous les formulaires + liens légaux du pied de page */
.n243-mention-rgpd { font-size: 12.5px !important; line-height: 1.5 !important; color: #8a857e !important; margin: 0 0 14px !important; text-align: left; }
.n243-mention-rgpd a { color: var(--n243-orange-fonce); text-decoration: underline; }
.n243-footer .n243-bottom p.n243-liens-legaux { margin-top: 6px; font-size: 12.5px; }
.n243-footer .n243-liens-legaux a { color: #cfcac2; }
.n243-footer .n243-liens-legaux a:hover { color: var(--n243-orange); }
/* adresse cliquable (Google Maps) */
a.n243-adresse { color: inherit; text-decoration: underline; text-decoration-color: rgba(232,145,45,.6); text-underline-offset: 3px; }
a.n243-adresse:hover { color: var(--n243-orange-fonce); text-decoration-color: currentColor; }
.n243-footer a.n243-adresse:hover { color: var(--n243-orange); }
.contact-form-styled { border-top: 4px solid var(--n243-orange); }

/* ---------- Formulaire devis / message (Contact) ---------- */
.n243-cf { padding: 30px 30px 26px !important; border-radius: 18px !important; box-shadow: 0 18px 45px rgba(22,22,22,.08) !important; }
.n243-cf-entete { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.n243-cf-pastille {
  width: 48px; height: 48px; border-radius: 14px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  background: var(--n243-degrade); color: #fff; font-size: 20px; box-shadow: 0 8px 18px rgba(196,111,18,.3);
}
.n243-cf-entete h3 { font-size: 21px; font-weight: 700; color: var(--n243-noir); margin: 0 0 2px; }
.n243-cf-entete p { font-size: 13px; color: #8a857e; margin: 0; line-height: 1.4; }
/* choix du type : deux pastilles */
.n243-cf-type { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 5px; background: #f7f3ee; border-radius: 14px; margin-bottom: 22px; }
.n243-cf-type label { position: relative; margin: 0; cursor: pointer; }
.n243-cf-type input { position: absolute; left: 0; top: 0; width: 1px !important; height: 1px; padding: 0 !important; margin: 0 !important; opacity: 0; pointer-events: none; }
.n243-cf-type span {
  display: flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 10px; border-radius: 10px;
  font-size: 14px; font-weight: 600; color: #6d6862; transition: background .2s, color .2s, box-shadow .2s; text-align: center;
}
.n243-cf-type label:hover span { color: var(--n243-orange-fonce); }
.n243-cf-type input:checked + span { background: #fff; color: var(--n243-orange-fonce); box-shadow: 0 4px 12px rgba(22,22,22,.08); }
.n243-cf-type input:focus-visible + span { outline: 2px solid var(--n243-orange); outline-offset: 2px; }
/* champs avec étiquette et icône */
.n243-cf-champ { position: relative; margin-bottom: 16px; }
.n243-cf-champ > label { display: block; font-size: 13px; font-weight: 600; color: var(--n243-noir); margin-bottom: 6px; }
.n243-cf-champ > label b { color: var(--n243-orange-fonce); font-weight: 700; }
.n243-cf-champ > label small { font-weight: 400; color: #9a958e; }
.n243-cf-saisie { position: relative; }
.n243-cf-saisie > i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #b9a58c; font-size: 15px; pointer-events: none; transition: color .2s; }
.n243-cf .form-control {
  width: 100%; height: auto; margin: 0 !important; padding: 12px 14px; font-size: 14.5px; font-family: inherit; color: var(--n243-noir);
  background: #fbf9f6; border: 1.5px solid #ece4d8; border-radius: 10px; transition: border-color .2s, background .2s, box-shadow .2s;
}
.n243-cf .n243-cf-saisie .form-control { padding-left: 40px; }
.n243-cf select.form-control { appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23c46f12' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 12px 8px; }
.n243-cf textarea.form-control { min-height: 140px; height: 140px; resize: vertical; line-height: 1.6; }
.n243-cf .form-control::placeholder { color: #aaa49c; }
.n243-cf .form-control:hover { border-color: #e2d3bf; }
.n243-cf .form-control:focus { background: #fff; border-color: var(--n243-orange); box-shadow: 0 0 0 4px rgba(232,145,45,.15); }
.n243-cf .n243-cf-saisie:focus-within > i { color: var(--n243-orange-fonce); }
.n243-cf .form-control.n243-invalide { border-color: #d9534f; }
.n243-cf-compteur { position: absolute; right: 26px; bottom: 8px; font-size: 11.5px; color: #aaa49c; pointer-events: none; }
.n243-cf .n243-mention-rgpd { margin-top: 4px !important; }
.n243-cf .n243-actions .btn-n243 { box-shadow: 0 10px 22px rgba(196,111,18,.28); }
@media (max-width: 575px) {
  .n243-cf { padding: 22px 18px 20px !important; }
  .n243-cf-type span { font-size: 13px; padding: 10px 4px; white-space: nowrap; }
  .n243-cf-type span i { display: none; }
  .n243-cf-entete h3 { font-size: 19px; }
}
.contact-form-styled .n243-actions { display: flex; gap: 12px; }
.contact-form-styled .n243-actions > * { flex: 1; }

/* ---------- Pied de page ---------- */
footer.n243-footer { background: var(--n243-noir); color: #cfcac2; padding: 60px 0 0; margin-top: 0; }
.n243-footer h5 { color: #fff; font-size: 16px; font-weight: 700; margin-bottom: 18px; }
.n243-footer h5::after { content: ''; display: block; width: 34px; height: 3px; background: var(--n243-orange); margin-top: 8px; border-radius: 2px; }
.n243-footer p, .n243-footer li { color: #cfcac2; font-size: 14px; line-height: 1.8; }
.n243-footer a { color: #cfcac2; }
.n243-footer a:hover { color: var(--n243-orange); }
.n243-footer ul { list-style: none; padding: 0; margin: 0; }
.n243-footer .n243-footer-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.n243-footer .n243-footer-logo span.globe { width: 58px; height: 58px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; }
.n243-footer .n243-footer-logo img { height: 46px; width: auto; }
.n243-footer .n243-footer-logo strong { color: #fff; font-size: 22px; font-weight: 800; letter-spacing: 1px; }
.n243-footer .n243-footer-logo strong b { color: var(--n243-orange); }
.n243-footer .n243-legal { font-size: 12.5px; color: #9a958d; }
.n243-footer .n243-bottom { border-top: 1px solid #2c2c2c; margin-top: 40px; padding: 20px 0; text-align: center; font-size: 13px; color: #9a958d; }
.n243-footer .n243-bottom p { margin: 0; font-size: 13px; color: #9a958d; }
.n243-footer .col-lg-4, .n243-footer .col-lg-3, .n243-footer .col-lg-2 { margin-bottom: 25px; }

/* ---------- Divers mobile ---------- */
@media (max-width: 767px) {
  .section-heading h2 { font-size: 26px; line-height: 1.35; }
  .contact-form-styled .n243-actions { flex-direction: column; }
  .our-services .item p { font-size: 14px; }
}
