/* ==========================================================================
   ORCA.CSS — Page orca.php (premium scientifique)
   Dépend de main.css (tokens, header, boutons, wrap, container)
   Scope fort : #xsOrca
   ========================================================================== */

#xsOrca{ isolation:isolate; }
#xsOrca .xs-reveal{ opacity:1; transform:none; }

/* =========================
   HERO
   ========================= */
#xsOrca .xs-hero{
  position:relative;
  min-height:calc(92dvh - var(--xs-header-h));
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  isolation:isolate;
  overflow:hidden;
  background:var(--xs-ink);
  background-image:url('/medias/orc11.jpg');
  background-size:cover;
  background-position:center;
}

#xsOrca .xs-hero::before{
  content:"";
  position:absolute; inset:0;
  z-index:0;
  background:
    radial-gradient(1200px 760px at 50% 78%, rgba(255,255,255,.14), rgba(31,42,50,.22) 52%, rgba(11,18,24,.62) 100%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(11,18,24,.52));
}

#xsOrca .xs-hero::after{
  content:"";
  position:absolute; inset:0;
  z-index:1;
  background:
    radial-gradient(900px 520px at 18% 28%, rgba(255,90,60,.10), transparent 70%),
    radial-gradient(900px 620px at 78% 62%, rgba(127,164,184,.12), transparent 70%);
  pointer-events:none;
}

#xsOrca .xs-hero .xs-container{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1400px;
  padding:24px var(--xs-pad);
  display:flex;
  justify-content:center;
}

#xsOrca .xs-heroPanel{
  width:min(1040px, 100%);
  border-radius:var(--xs-r-lg);
  background:rgba(11,18,24,.30);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:var(--xs-shadow);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:40px 28px 30px;
}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  #xsOrca .xs-heroPanel{ background:rgba(11,18,24,.42); }
}

#xsOrca .xs-kicker{
  margin:0 0 12px;
  color:rgba(255,255,255,.92);
  font-weight:950;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:12px;
}

#xsOrca .xs-h1{
  margin:0 0 10px;
  font-weight:950;
  color:#fff;
  font-size:clamp(34px, 4.8vw, 66px);
  line-height:1.02;
  letter-spacing:-0.02em;
  text-shadow:0 16px 46px rgba(0,0,0,.20);
}

#xsOrca .xs-h2{
  margin:0 0 14px;
  font-weight:900;
  color:rgba(255,255,255,.92);
  font-size:clamp(16px, 1.6vw, 22px);
  line-height:1.35;
  max-width:980px;
}

#xsOrca .xs-heroMeta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

#xsOrca .xs-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(11,18,24,.22);
  color:rgba(255,255,255,.92);
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
#xsOrca .xs-chip--soft{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.14);
}
#xsOrca .xs-chip .dot{
  width:8px;height:8px;border-radius:99px;
  background: var(--xs-accent);
  box-shadow: 0 0 0 6px rgba(255,90,60,.14);
}

#xsOrca .xs-heroFade{
  position:absolute; left:0; right:0; bottom:-1px;
  height:100px;
  background:linear-gradient(180deg, transparent, var(--xs-white) 90%);
  z-index:2;
  pointer-events:none;
}

#xsOrca .xs-gapBetween{
  width:100vw;
  position:relative;
  left:50%;
  margin-left:-50vw;
  height:40px;
  background:var(--xs-white);
}

@media (max-width:900px){
  #xsOrca .xs-hero{ min-height:auto; padding:100px 0 60px; }
  #xsOrca .xs-heroPanel{
    padding:32px 20px 28px;
    border-radius:20px;
    margin:0 10px;
  }
}

/* =========================
   Sections
   ========================= */
#xsOrca .xs-sec{
  padding:74px 0;
  background:var(--xs-white);
  position:relative;
}

#xsOrca .xs-sec + .xs-sec::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(31,42,50,.10), transparent);
}

#xsOrca .xs-secTitle{
  margin:0 0 10px;
  color:var(--xs-deep);
  font-size:28px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:-0.01em;
  position:relative;
  padding-left:14px;
}
#xsOrca .xs-secTitle::before{
  content:"";
  position:absolute; left:0; top:.26em;
  width:4px; height:1.05em;
  border-radius:3px;
  background:rgba(255,90,60,.85);
}

#xsOrca .xs-secLead{
  margin:0 0 14px;
  color:rgba(31,42,50,.84);
  font-size:16.5px;
  line-height:1.75;
  max-width:980px;
}

#xsOrca .xs-fine{
  color:rgba(31,42,50,.70);
  font-size:0.95rem;
  line-height:1.7;
}

/* =========================
   Intro grid (Cadre + TOC)
   ========================= */
#xsOrca .xs-topGrid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:18px;
  align-items:stretch;
}
@media (max-width:980px){
  #xsOrca .xs-topGrid{ grid-template-columns:1fr; }
}

#xsOrca .xs-noteCard,
#xsOrca .xs-tocCard{
  border-radius:var(--xs-r-lg);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(31,42,50,.14);
  box-shadow:var(--xs-shadow2);
  padding:18px 18px 16px;
}

#xsOrca .xs-noteKicker{
  font-size:12px;
  font-weight:950;
  letter-spacing:.34em;
  text-transform:uppercase;
  color: rgba(31,42,50,.72);
  margin: 0 0 10px;
}

#xsOrca .xs-toc{
  margin:0;
  padding:0 0 0 18px;
  color:rgba(31,42,50,.84);
  line-height:1.8;
  font-size:15.5px;
}
#xsOrca .xs-toc a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(255,90,60,.45);
  padding-bottom:1px;
}
@media (hover:hover) and (pointer:fine){
  #xsOrca .xs-toc a:hover{ color:var(--xs-accent); border-bottom-color:rgba(255,90,60,.85); }
}

/* =========================
   Split / Aside
   ========================= */
#xsOrca .xs-split{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  align-items:stretch;
  margin-top:14px;
}
@media (max-width:900px){
  #xsOrca .xs-split{ grid-template-columns:1fr; }
}

#xsOrca .xs-side{
  border-radius:var(--xs-r-lg);
  background:rgba(255,255,255,.94);
  border:1px solid rgba(31,42,50,.14);
  box-shadow:var(--xs-shadow);
  padding:22px 22px 18px;
}

#xsOrca .xs-side h3{
  margin:0 0 10px;
  font-size:18px;
  font-weight:950;
  color:var(--xs-deep);
  position:relative;
  padding-left:12px;
}
#xsOrca .xs-side h3::before{
  content:"";
  position:absolute; left:0; top:.28em;
  width:3px; height:1.05em;
  border-radius:3px;
  background:rgba(127,164,184,.78);
}

/* Figure */
#xsOrca .xs-figureCard{
  border-radius:var(--xs-r-lg);
  overflow:hidden;
  background:#000;
  border:1px solid rgba(31,42,50,.14);
  box-shadow:var(--xs-shadow);
}
#xsOrca .xs-figureCard img{ width:100%; height:auto; display:block; object-fit:cover; }
#xsOrca .xs-figureCard figcaption{
  padding:12px 14px 14px;
  background:linear-gradient(180deg, rgba(11,18,24,.96), rgba(11,18,24,.88));
  color:rgba(255,255,255,.88);
  font-size:14px;
  line-height:1.55;
}

/* =========================
   Cards / grids
   ========================= */
#xsOrca .xs-grid3{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:18px;
  margin-top:14px;
}
#xsOrca .xs-grid2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
  margin-top:14px;
}
@media (max-width:900px){
  #xsOrca .xs-grid2{ grid-template-columns:1fr; }
}

#xsOrca .xs-card{
  border-radius:var(--xs-r);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(31,42,50,.14);
  padding:18px 18px 16px;
  box-shadow:var(--xs-shadow2);
}

#xsOrca .xs-card h3{
  margin:0 0 8px;
  font-size:16px;
  font-weight:950;
  color:var(--xs-deep);
}
#xsOrca .xs-card p{
  margin:0;
  color:rgba(31,42,50,.82);
  font-size:15.5px;
  line-height:1.7;
}

/* =========================
   Eco cards
   ========================= */
#xsOrca .xs-ecoGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:18px;
  margin-top:14px;
}

#xsOrca .xs-ecoCard{
  border-radius:var(--xs-r-lg);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(31,42,50,.14);
  box-shadow:var(--xs-shadow2);
  padding:18px 18px 16px;
}

#xsOrca .xs-ecoHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

#xsOrca .xs-ecoTag{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,90,60,.12);
  border:1px solid rgba(255,90,60,.22);
  color:rgba(31,42,50,.92);
  font-size:12px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
  white-space:nowrap;
}

#xsOrca .xs-ecoMeta{
  font-size:12px;
  color:rgba(31,42,50,.64);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:900;
  white-space:nowrap;
}

#xsOrca .xs-ecoCard p{
  margin:0;
  color:rgba(31,42,50,.82);
  font-size:15.5px;
  line-height:1.7;
}

/* =========================
   Callouts
   ========================= */
#xsOrca .xs-callout{
  margin-top:16px;
  border-radius:var(--xs-r-lg);
  border:1px solid rgba(31,42,50,.14);
  background:rgba(255,255,255,.96);
  box-shadow:var(--xs-shadow2);
  padding:14px 16px;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
#xsOrca .xs-calloutDot{
  width:10px;height:10px;border-radius:99px;
  background:var(--xs-accent);
  box-shadow:0 0 0 6px rgba(255,90,60,.14);
  flex:0 0 auto;
  margin-top:.35em;
}
#xsOrca .xs-callout p{ margin:0; color:rgba(31,42,50,.82); line-height:1.7; }
#xsOrca .xs-callout--soft{
  background:linear-gradient(135deg, rgba(255,90,60,.08), rgba(127,164,184,.10));
}

/* =========================
   Video feature
   ========================= */
#xsOrca .xs-videoFeature{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:18px;
  align-items:stretch;
  margin-top:14px;
}
@media (max-width:980px){
  #xsOrca .xs-videoFeature{ grid-template-columns:1fr; }
}

#xsOrca .xs-videoFrame{
  border-radius:var(--xs-r-lg);
  overflow:hidden;
  border:1px solid rgba(31,42,50,.14);
  box-shadow:var(--xs-shadow);
  background:#000;
  aspect-ratio:16/9;
  position:relative;
}
#xsOrca .xs-videoFrame iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
}

#xsOrca .xs-videoAside{
  border-radius:var(--xs-r-lg);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(31,42,50,.14);
  box-shadow:var(--xs-shadow2);
  padding:18px 18px 16px;
}

#xsOrca .xs-videoBadge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(31,42,50,.14);
  background:rgba(255,255,255,.92);
  font-size:12px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(31,42,50,.86);
  margin-bottom:10px;
}
#xsOrca .xs-videoDot{
  width:10px;height:10px;border-radius:99px;
  background:var(--xs-accent);
  box-shadow:0 0 0 6px rgba(255,90,60,.14);
}

/* =========================
   Two col (type D)
   ========================= */
#xsOrca .xs-twoCol{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr);
  gap:18px;
  align-items:stretch;
  margin-top:14px;
}
@media (max-width:960px){
  #xsOrca .xs-twoCol{ grid-template-columns:1fr; }
}

#xsOrca .xs-highlightCard{
  border-radius:var(--xs-r-lg);
  background:linear-gradient(135deg, rgba(255,90,60,.10), rgba(127,164,184,.10));
  border:1px solid rgba(31,42,50,.14);
  box-shadow:var(--xs-shadow2);
  padding:18px 18px 16px;
}

/* =========================
   Methods
   ========================= */
#xsOrca .xs-methods{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:14px;
}
@media (max-width:900px){
  #xsOrca .xs-methods{ grid-template-columns:1fr; }
}

#xsOrca .xs-methodCard{
  border-radius:var(--xs-r-lg);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(31,42,50,.14);
  box-shadow:var(--xs-shadow2);
  padding:18px 18px 16px;
}
#xsOrca .xs-methodCard--accent{
  background:linear-gradient(135deg, rgba(255,90,60,.08), rgba(255,255,255,.96));
  border-color:rgba(255,90,60,.22);
}
#xsOrca .xs-methodCard h3{
  margin:0 0 10px;
  font-size:16px;
  font-weight:950;
  color:var(--xs-deep);
}

/* =========================
   Band (closing)
   ========================= */
#xsOrca .xs-band{
  border-radius:var(--xs-r-lg);
  background:rgba(255,255,255,.94);
  border:1px solid rgba(31,42,50,.14);
  box-shadow:var(--xs-shadow);
  padding:26px;
  margin-top:12px;
}
#xsOrca .xs-bandGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:start;
}
@media (max-width:900px){
  #xsOrca .xs-bandGrid{ grid-template-columns:1fr; }
}