/* ================================================================
   ORCA PLONGÉE YERRES CROSNE — custom.css
   Thème « La Descente » : on s'enfonce sous l'eau, du clair (surface)
   vers l'abysse. Palette unique teal #5bc6de.
   Ciblé sur la structure Gantry réelle : #g-navigation, #g-header,
   #g-intro, #g-features, #g-footer + tes classes .orca-*.
   Les vagues, la photo du hero, les rayons et les bulles sont
   injectés par custom.js.
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root{
  --teal:#5bc6de;
  --teal-deep:#2a8fb0;
  --charbon:#15323f;
  --ink:#0c2430;
  /* Paliers de profondeur */
  --z-hero:#0a2f45;
  --z-intro:#eaf5fb;
  --z-intro-bas:#dbeef4;
  --z-act:#cfe6f0;
  --z-actus:#2f6e8f;
  --z-part:#103f57;
  --z-abysse:#06263a;
  --r:16px;
}

/* ---------- Base ---------- */
body.gantry{
  font-family:'Outfit',-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--charbon);
  background:var(--z-intro);
}
#g-page-surround{overflow-x:hidden;}
body.gantry a{transition:color .2s ease;}

/* ================================================================
   1. NAVIGATION (#g-navigation) — logo centré, menu de part et d'autre
   Ciblé par CONTENU (:has) -> robuste si les tailles de blocs changent.
   Pas de bloc réseaux sociaux.
   ================================================================ */
#g-navigation{
  position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent;
  transition:background .3s ease, box-shadow .3s ease;
  overflow:visible !important;border:none !important;
  font-family:'Outfit',sans-serif;
}
#g-navigation.orca-scrolled{background:rgba(6,38,58,.95);box-shadow:0 2px 24px rgba(0,0,0,.3);}
body{padding-top:0 !important;}
#g-navigation .g-container{position:relative;}
#g-navigation .g-grid{position:relative;display:flex;align-items:center;min-height:64px;}

/* Logo : le bloc qui contient .g-logo -> absolu, centré, déborde sous la barre */
#g-navigation .g-block:has(.g-logo){
  position:absolute !important;left:50%;top:8px;transform:translateX(-50%);
  width:auto !important;flex:none !important;padding:0;z-index:1001;
  transition:top .3s ease, transform .3s ease;
}
#g-navigation.orca-scrolled .g-block:has(.g-logo){top:50%;transform:translate(-50%,-50%);}
#g-navigation .g-logo img{
  height:110px !important;width:auto !important;max-height:none !important;display:block;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,.5));transition:height .3s ease;
}
#g-navigation.orca-scrolled .g-logo img{height:48px !important;}

/* Menu : le bloc qui contient .g-main-nav -> pleine largeur ;
   groupe gauche collé à gauche, groupe droit poussé à droite
   -> grand écart central pour le logo (équilibré, sans réseaux) */
#g-navigation .g-block:has(.g-main-nav){width:100% !important;max-width:100% !important;flex:1 1 100% !important;display:flex;align-items:center;}
#g-navigation .g-block:has(.g-main-nav) > .g-content{width:100% !important;flex:1 1 100%;}
#g-navigation .g-main-nav{width:100% !important;}
#g-navigation .g-main-nav .g-toplevel{
  display:flex !important;align-items:center;list-style:none;margin:0;padding:0;
  width:100%;font-family:'Outfit',sans-serif;
}
#g-navigation .g-main-nav .g-toplevel > li{white-space:nowrap;}
#g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container{
  color:#eaf6fb !important;font-weight:500;font-size:.9rem;font-family:'Outfit',sans-serif;
  padding:.5em .55em;letter-spacing:.01em;
}
#g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container:hover{color:var(--teal) !important;}
/* 5e item = début du groupe droit, poussé à droite -> crée l'écart central du logo */
#g-navigation .g-main-nav .g-toplevel > li:nth-child(5){margin-left:auto;}

/* Sous-menus */
#g-navigation .g-dropdown,
#g-navigation .g-dropdown .g-dropdown-column{background:#0c3346 !important;}
#g-navigation .g-dropdown{z-index:1100 !important;box-shadow:0 12px 30px rgba(0,0,0,.35);}
#g-navigation .g-dropdown .g-menu-item-container{color:#eaf6fb !important;font-family:'Outfit',sans-serif;}

/* Tablette (768–1080px) : logo + libellés réduits pour éviter tout chevauchement */
@media (min-width:48rem) and (max-width:67.5rem){
  #g-navigation .g-logo img{height:74px !important;}
  #g-navigation .g-main-nav .g-toplevel > li > .g-menu-item-container{font-size:.8rem;padding:.5em .35em;}
}

/* Mobile : Gantry reprend le hamburger, logo centré compact */
@media (max-width:47.99rem){
  /* overflow VISIBLE : overflow:hidden coupait le logo. Le débordement
     horizontal est déjà géré globalement par #g-page-surround{overflow-x:hidden}. */
  #g-navigation{overflow:visible !important;}
  #g-navigation .g-grid{min-height:66px;}
  #g-navigation .g-block:has(.g-logo){top:50%;transform:translate(-50%,-50%);}
  /* Logo bien calé dans la barre, jamais tronqué */
  #g-navigation .g-logo img{height:50px !important;}
  #g-navigation.orca-scrolled .g-logo img{height:44px !important;}
  /* Hamburger : FIXE pour rester visible au scroll (par défaut il est
     position:absolute dans #g-page-surround et défile hors écran). */
  .g-offcanvas-toggle{position:fixed !important;top:16px !important;left:14px !important;z-index:100002 !important;}
  .g-offcanvas-toggle .fa{color:#eaf6fb !important;font-size:22px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.55));}
}

/* ---------- Menu mobile (offcanvas) — raccord palette « La Descente » ----------
   Par défaut le panneau est en teal-vert du thème (#4db2b3). On le passe en
   fond abysse + texte clair + accents teal #5bc6de, police Outfit. */
#g-offcanvas{background:linear-gradient(180deg,#0c3346,#06263a) !important;font-family:'Outfit',sans-serif;}
/* Neutralise les fonds teal-vert du thème (ul + li actif) */
#g-offcanvas .g-toplevel,#g-offcanvas .g-toplevel li{background:transparent !important;}
#g-offcanvas .g-toplevel{padding:6px 0;}
#g-offcanvas .g-menu-item-container{color:#eaf6fb !important;font-family:'Outfit',sans-serif;font-weight:500;}
#g-offcanvas .g-toplevel > li{border-bottom:1px solid rgba(255,255,255,.07);}
#g-offcanvas .g-menu-item-container:hover{color:#5bc6de !important;background:rgba(91,198,222,.08);}
#g-offcanvas li.active > .g-menu-item-container{color:#5bc6de !important;background:rgba(91,198,222,.12);box-shadow:inset 3px 0 0 #5bc6de;}
#g-offcanvas .g-dropdown{background:rgba(0,0,0,.2) !important;}
#g-offcanvas .g-dropdown .g-menu-item-container{padding-left:32px;font-size:.94em;}
/* Sous-niveaux du drill-down mobile : le thème les met en teal-vert -> fond abysse */
#g-offcanvas .g-sublevel{background:linear-gradient(180deg,#0c3346,#06263a) !important;}
#g-offcanvas .g-sublevel > li{border-bottom:1px solid rgba(255,255,255,.07);}
/* Flèches lisibles : le thème met l'indicateur en BOÎTE teal avec un chevron
   teal PAR-DESSUS (teal sur teal = invisible). On retire la boîte et on dessine
   nous-mêmes un chevron teal net (indépendant de FontAwesome). */
#g-offcanvas .g-menu-parent-indicator{
  background:transparent !important;border:none !important;box-shadow:none !important;
  border-radius:0 !important;color:#5bc6de !important;min-width:30px;text-align:center;
}
/* Le thème ne pose pas de glyphe FA ici (content vide dans l'offcanvas) : on
   injecte un chevron Unicode (police système, aucune dépendance FontAwesome). */
#g-offcanvas .g-menu-parent-indicator:after{
  content:"\203A" !important;                 /* › vers la droite */
  font-family:'Outfit',Arial,sans-serif !important;font-weight:700 !important;
  color:#5bc6de !important;opacity:1 !important;font-size:1.4rem !important;line-height:1 !important;
}
/* Bouton retour (‹) */
#g-offcanvas .g-go-back > .g-menu-item-container{color:#5bc6de !important;font-weight:600;background:rgba(91,198,222,.10);}
#g-offcanvas .g-go-back .g-menu-parent-indicator:after{content:"\2039" !important;}  /* ‹ vers la gauche */

/* ================================================================
   2. HERO (#g-header) — photo immersive + texte
   (photo, rayons, bulles injectés par custom.js)
   ================================================================ */
#g-header{
  position:relative;min-height:100vh;
  display:flex;align-items:flex-end;
  overflow:hidden;background:var(--z-hero);
  padding:0 !important;margin:0 !important;
}
#g-header .g-container{position:relative;z-index:2;width:100%;padding-bottom:16vh;padding-top:130px;}

/* Média injecté */
#g-header .orca-hero-media{position:absolute;left:0;right:0;top:-10%;height:120%;z-index:0;will-change:transform;}
#g-header .orca-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.03) brightness(.84);}
#g-header .orca-hero-media::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(4,22,34,.22) 0%,rgba(4,22,34,.04) 36%,rgba(4,22,34,.34) 68%,rgba(5,28,44,.6) 100%),
  linear-gradient(90deg,rgba(4,22,34,.55) 0%,rgba(4,22,34,0) 58%);}

/* Rayons */
#g-header .orca-rays{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;mix-blend-mode:screen;opacity:.45;}
#g-header .orca-ray{position:absolute;top:-30%;width:14vw;height:160%;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 70%);transform:rotate(14deg);filter:blur(7px);animation:orca-rayShift 12s ease-in-out infinite;}
#g-header .orca-ray:nth-child(1){left:8%;}
#g-header .orca-ray:nth-child(2){left:34%;width:8vw;animation-delay:-3s;opacity:.7;}
#g-header .orca-ray:nth-child(3){left:62%;width:18vw;animation-delay:-6s;}
#g-header .orca-ray:nth-child(4){left:84%;width:6vw;animation-delay:-2s;opacity:.6;}
@keyframes orca-rayShift{0%,100%{transform:rotate(14deg) translateX(0);opacity:.35;}50%{transform:rotate(14deg) translateX(26px);opacity:.6;}}

/* Bulles */
#g-header .orca-bubbles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
#g-header .orca-bubble{position:absolute;bottom:-50px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.4),rgba(255,255,255,.05) 48%,transparent 70%);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 6px rgba(255,255,255,.12);filter:blur(.4px);opacity:0;animation:orca-rise linear infinite;}
@keyframes orca-rise{0%{transform:translateY(0) translateX(0) scale(.9);opacity:0;}12%{opacity:.5;}50%{transform:translateY(-52vh) translateX(16px) scale(1);}88%{opacity:.35;}100%{transform:translateY(-104vh) translateX(-10px) scale(1.05);opacity:0;}}

/* Texte du hero (particule custom-1849) */
#g-header .orca-hero-pill{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#cbf2fb;background:rgba(91,198,222,.18);border:1px solid rgba(91,198,222,.4);padding:.5em 1.1em;border-radius:999px;margin-bottom:22px;backdrop-filter:blur(4px);}
#g-header h1{font-size:clamp(2.5rem,5.6vw,4.6rem);line-height:1.02;font-weight:800;letter-spacing:-.02em;color:#fff;margin:0 0 22px;max-width:18ch;text-shadow:0 4px 30px rgba(0,0,0,.45);}
#g-header h1 em{font-style:italic;color:var(--teal);margin-left:.28em;}
#g-header .orca-hero-lead{font-size:1.2rem;color:#e3f1fa;max-width:48ch;margin:0 0 32px;text-shadow:0 2px 16px rgba(0,0,0,.5);}
#g-header .orca-hero-cta{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:1.05rem;padding:.9em 1.9em;border-radius:999px;background:var(--teal);color:var(--ink) !important;box-shadow:0 8px 24px rgba(91,198,222,.4);text-decoration:none;transition:transform .18s,background .18s;}
#g-header .orca-hero-cta:hover{background:#74d3e8;transform:translateY(-2px);}

/* Indicateur « défiler » */
#g-header .orca-scrollcue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:4;
  color:rgba(255,255,255,.8);cursor:pointer;animation:orca-bob 1.8s ease-in-out infinite;transition:opacity .4s ease;}
#g-header .orca-scrollcue svg{display:block;width:34px;height:34px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.55));}
#g-header.orca-hidecue .orca-scrollcue{opacity:0;pointer-events:none;}
@keyframes orca-bob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(9px);}}

/* ================================================================
   3. VAGUES entre sections (injectées par custom.js)
   Crêtes solides ; creux calés en bas ; tracé large ; 1 période.
   ================================================================ */
.orca-sec-wave{position:absolute;left:0;bottom:100%;width:100%;height:60px;overflow:hidden;line-height:0;pointer-events:none;z-index:3;}
.orca-sec-wave.w-tall{height:82px;}
.orca-sec-wave.w-flat{height:44px;}
.orca-sec-wave.w-hero{height:120px;}   /* vague de surface, bien visible sur le hero */
.orca-sec-wave svg{width:100%;height:100%;display:block;}
.orca-sec-wave use{animation:orca-waveMove 19s cubic-bezier(.55,.5,.45,.5) infinite;}
.orca-sec-wave use:nth-child(1){animation-duration:23s;}
.orca-sec-wave use:nth-child(2){animation-duration:16s;animation-delay:-3s;}
.orca-sec-wave use:nth-child(3){animation-duration:11s;animation-delay:-1s;}
.orca-sec-wave.w-rev use{animation-direction:reverse;}
@keyframes orca-waveMove{0%{transform:translateX(0);}100%{transform:translateX(-176px);}}

/* ================================================================
   4. FONDS DE SECTION (la descente)
   ================================================================ */
#g-intro{
  position:relative;
  background:linear-gradient(180deg,var(--z-intro),var(--z-intro-bas));
  padding:92px 0;
}
/* La section Features contient 3 rangées : Activités (clair) -> Actualités
   (moyen) -> Partenaires (profond). Chaque rangée devient une bande pleine
   largeur avec sa couleur + une vague (classes ajoutées par custom.js). */
#g-features{position:relative;background:transparent;padding:0;}
.orca-zone{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:62px 0 70px;}
.orca-zone-act{background:linear-gradient(180deg,#cfe6f0,#bfe0ec);}
.orca-zone-actu{background:linear-gradient(180deg,#2f6e8f,#255f7e);}
.orca-zone-part{background:linear-gradient(180deg,#103f57,#0d3850);}
#g-footer{
  position:relative;
  background:linear-gradient(180deg,#0a2c40,var(--z-abysse));
  color:#9fc1d2;
}

/* Titres de section génériques */
.orca-section-title{
  text-align:center;font-family:'Outfit',sans-serif;
  font-weight:700;font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.01em;
  margin:0 0 .2em;color:var(--charbon);
}
.orca-section-title-sep{display:block;width:56px;height:3px;border-radius:2px;margin:10px auto 0;background:linear-gradient(90deg,var(--teal),var(--teal-deep));}

/* ================================================================
   5. LE CLUB (#g-intro / particule custom-2242)
   2 colonnes : gauche = titre + texte + stats ; droite = avantages.
   ================================================================ */
#g-intro .orca-club-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:start;max-width:1180px;margin:0 auto;padding:0 20px;}
#g-intro .orca-eyebrow{display:block;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:.4em;}
#g-intro .orca-section-title{text-align:left;color:var(--charbon);margin:0 0 .55em;}
#g-intro .orca-section-title-sep{display:none;}
#g-intro .orca-welcome-lead{max-width:none;margin:0 0 1.7rem;text-align:left;font-size:1.08rem;line-height:1.7;color:#3c5d6c;}
.orca-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.orca-stat{background:#fff;border:1px solid rgba(21,50,63,.08);border-radius:var(--r);padding:18px 12px;text-align:center;}
.orca-stat b{display:block;font-size:2.1rem;font-weight:800;color:var(--teal-deep);line-height:1;letter-spacing:-.02em;}
.orca-stat span{font-size:.85rem;color:#5b7785;}
/* Avantages : liste simple en colonne (droite) */
.orca-av-list{list-style:none;margin:0;padding:0;display:block;}
.orca-av-item{display:flex;gap:16px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(21,50,63,.1);}
.orca-av-item:last-child{border-bottom:none;}
.orca-av-icon{flex:0 0 46px;width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.15rem;
  background:linear-gradient(145deg,var(--teal),var(--teal-deep)) !important;}
.orca-av-body strong{display:block;font-size:1.05rem;color:var(--charbon);margin-bottom:3px;}
.orca-av-body span{font-size:.97rem;color:#4a6776;line-height:1.6;}
@media (max-width:820px){
  #g-intro .orca-club-grid{grid-template-columns:1fr;gap:32px;}
  #g-intro .orca-section-title{text-align:left;}
}
@media (max-width:480px){.orca-stats{grid-template-columns:1fr 1fr;}}

/* ================================================================
   6. NOS ACTIVITÉS (#g-features / particule custom-2485)
   5 cartes égales, verre dépoli sur le fond clair du haut de section.
   ================================================================ */
#g-features #custom-2485-particle .orca-section-title{color:var(--charbon);}
.orca-features{
  display:grid;grid-template-columns:repeat(5,1fr);gap:18px;
  max-width:1180px;margin:40px auto 0;padding:0 20px;
}
.orca-card{
  position:relative;background:#fff;border-radius:var(--r);overflow:hidden;text-align:center;
  box-shadow:0 10px 30px rgba(12,74,104,.12);
  transition:transform .25s ease, box-shadow .25s ease;
  /* neutralise l'ancienne animation d'apparition inline */
  opacity:1 !important;transform:none;animation:none !important;
}
.orca-card:hover{transform:translateY(-6px);box-shadow:0 20px 46px rgba(12,74,104,.2);}
.orca-card-link{position:absolute;inset:0;z-index:3;}
/* Miniature : photo si présente, sinon dégradé teal + icône */
.orca-thumb{position:relative;height:132px;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(150deg,var(--teal),var(--teal-deep));}
.orca-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .4s ease;}
.orca-card:hover .orca-thumb img{transform:scale(1.06);}
.orca-thumb::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,38,58,.05),rgba(6,38,58,.34));}
.orca-icon{position:relative;z-index:2;width:auto;height:auto;margin:0;border-radius:0;
  background:none !important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45));transition:transform .25s ease;}
.orca-card:hover .orca-icon{transform:scale(1.08);}
.orca-icon svg{display:block;width:46px;height:46px;}
/* Si la PHOTO est bien chargée, on masque l'icône SVG (on ne garde le SVG
   qu'en repli, quand la photo est absente). Détection : le <img> a
   onerror="this.style.display='none'", donc une photo KO reçoit un style
   inline ; une photo OK n'a aucun attribut style. */
.orca-thumb:has(img:not([style])) .orca-icon{display:none;}
.orca-thumb:has(img:not([style]))::after{background:linear-gradient(180deg,rgba(6,38,58,.02),rgba(6,38,58,.28));}
.orca-label{font-size:1rem;font-weight:700;color:var(--charbon);padding:14px 10px 6px;}
.orca-sep{width:30px;height:3px;border-radius:2px;margin:0 auto 16px;background:linear-gradient(90deg,var(--teal),var(--teal-deep));transition:width .25s ease;}
.orca-card:hover .orca-sep{width:50px;}
@media (max-width:980px){.orca-features{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.orca-features{grid-template-columns:1fr 1fr;}.orca-thumb{height:120px;}}

/* ================================================================
   7. ACTUALITÉS (#g-features / plugin orca-actu-carousel)
   Milieu de la descente : fond moyen, texte clair.
   ================================================================ */
.orca-actu-section{max-width:1180px;margin:0 auto;padding:20px 20px 10px;}
#g-features .orca-actu-section .orca-section-title{color:#fff;}
.orca-actu-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin:1.75rem auto 1.5rem;max-width:1180px;}
.orca-actu-grid > *{flex:0 1 340px;}
.orca-actu-card{position:relative;background:#0c4a68;border:none;border-radius:var(--r);overflow:hidden;
  box-shadow:0 16px 40px rgba(0,0,0,.28);transition:transform .3s ease, box-shadow .3s ease;}
.orca-actu-card:hover{transform:translateY(-6px);box-shadow:0 24px 54px rgba(0,0,0,.4);}
.orca-actu-card-link{position:absolute;inset:0;z-index:1;}
.orca-actu-img{width:100%;height:190px;overflow:hidden;background:linear-gradient(135deg,var(--teal),var(--teal-deep));}
.orca-actu-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.orca-actu-card:hover .orca-actu-img img{transform:scale(1.06);}
.orca-actu-body{padding:1.1rem 1.3rem 1.4rem;}
.orca-actu-date{display:block;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin-bottom:.4rem;}
.orca-actu-title{font-size:1.08rem;font-weight:700;color:#fff;line-height:1.35;margin:0 0 .5rem;}
.orca-actu-excerpt{font-size:.9rem;color:#bcd6e2;line-height:1.6;margin:0;}
.orca-actu-footer{text-align:center;margin-top:1.5rem;}
.orca-actu-btn{display:inline-block;padding:.75rem 2rem;border-radius:999px;background:var(--teal);color:var(--ink);font-weight:600;text-decoration:none;transition:background .2s ease, transform .2s ease;}
.orca-actu-btn:hover{background:#74d3e8;transform:translateY(-2px);color:var(--ink);}
.orca-actu-empty{text-align:center;color:#bcd6e2;font-style:italic;padding:2rem 0;}
@media (max-width:900px){.orca-actu-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:580px){.orca-actu-grid{grid-template-columns:1fr;}}

/* ================================================================
   8. PARTENAIRES (#g-features / particule custom-7643)
   Bas de la descente : fond profond, logos sur pastilles blanches.
   ================================================================ */
#g-features #custom-7643-particle .orca-section-title{color:#fff;}
.orca-partenaires{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:center;
  max-width:1100px;margin:36px auto 0;padding:0 20px;}
.orca-partenaire{background:#fff;border-radius:14px;padding:16px 24px;display:flex;align-items:center;justify-content:center;
  min-width:150px;height:100px;transition:transform .2s ease;text-decoration:none;}
.orca-partenaire:hover{transform:translateY(-4px);}
.orca-partenaire img{max-height:62px;max-width:150px;width:auto;object-fit:contain;display:block;}

/* ================================================================
   9. FOOTER (#g-footer) — abysse
   ================================================================ */
#g-footer{padding:90px 0 40px;}
#g-footer a{color:#8fb2c4;}
#g-footer a:hover{color:var(--teal);}

/* ================================================================
   10. Apparition au scroll (piloté par custom.js)
   ================================================================ */
.orca-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.orca-reveal.is-visible{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  .orca-sec-wave use,#g-header .orca-ray,#g-header .orca-bubble{animation:none !important;}
  .orca-reveal{opacity:1;transform:none;transition:none;}
}
