/* ============================================================
   HOME - styles propres à la page d'accueil
   (hero, ticker, actualités, équipe, domaines, contact)
   Chargé uniquement sur index.html.
   ============================================================ */

/* ---------- HERO ---------- */
.hero{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;justify-content:flex-end;
  color:#fff;
  background:
    radial-gradient(120% 90% at 75% 15%, rgba(120,130,155,.35), transparent 60%),
    linear-gradient(160deg, #3a3f4f 0%, var(--slate) 45%, var(--slate-deep) 100%);
  overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  pointer-events:none;
}
.hero-inner{position:relative;padding:0 3rem;max-width:1100px;margin-bottom:11rem;}
.hero blockquote{
  font-family:var(--serif);
  font-size:clamp(1.6rem, 3.4vw, 2.9rem);
  font-weight:400;line-height:1.35;
  max-width:22ch;
  opacity:0;transform:translateY(24px);
  animation:rise .9s .2s ease-out forwards;
}
.hero cite{
  display:block;margin-top:1.6rem;
  font-family:var(--sans);font-style:italic;font-size:.85rem;opacity:.65;
  opacity:0;animation:fadein .8s .8s forwards;
}

/* ---------- TICKER ---------- */
.ticker{
  position:absolute;left:0;right:0;bottom:0;
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.15);
  background:rgba(25,28,36,.35);backdrop-filter:blur(6px);
}
.ticker a{
  padding:1.5rem 2rem;
  border-right:1px solid rgba(255,255,255,.12);
  font-size:.82rem;line-height:1.5;
  transition:background .25s;
}
.ticker a:last-child{border-right:none;}
.ticker a:hover{background:rgba(255,255,255,.07);}
.ticker .tag{
  display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--blair);font-weight:300;
  opacity:.55;margin-bottom:.4rem;
}

/* ---------- NEWS ---------- */
.section.news{padding:5.5rem 3rem;}
.news{
  background:var(--sand);color:var(--ink-soft);
  font-family:var(--display);
}
.news .eyebrow{color:var(--ink-soft);opacity:.9;letter-spacing:.16em;}
.news h2{color:var(--ink-soft);font-size:clamp(1.9rem, 3.4vw, 2.9rem);font-weight:400;}
.news-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:2rem;flex-wrap:wrap;margin-bottom:3rem;
}
.news-grid{
  display:grid;grid-template-columns:380px 1fr;gap:3.5rem;
  align-items:start;
}

/* Typo & marges resserrées pour la section actualités */
.news .featured-card{padding:2.6rem 2.2rem 2.8rem;}
.news .featured-card .card-top{margin-bottom:1.4rem;}
.news .featured-card h3{font-size:1.3rem;line-height:1.35;margin-bottom:1.1rem;}
.news .featured-card p{font-size:.88rem;line-height:1.7;}
.news .news-item{padding:1.9rem 1rem 1.9rem 0;}
.news .news-item .card-top{margin-bottom:1rem;}
.news .news-item h3{font-size:1.14rem;line-height:1.4;}

/* ---------- EQUIPE ---------- */
.equipe{background:var(--grey);}
.equipe-head{max-width:760px;}
.equipe-head p{margin:1.6rem 0 2rem;color:var(--grey-text);font-size:.95rem;max-width:56ch;}
.strip{
  margin-top:4rem;overflow:hidden;
  mask-image:linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}
.strip-track{display:flex;gap:1rem;width:max-content;animation:scroll 40s linear infinite;}
.strip:hover .strip-track{animation-play-state:paused;}
@keyframes scroll{to{transform:translateX(-50%);}}
.portrait{
  width:210px;height:280px;flex-shrink:0;position:relative;overflow:hidden;
  background:linear-gradient(155deg, #b9bec9 0%, #8f95a4 55%, #6e7482 100%);
  filter:grayscale(1);
}
.portrait::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(75% 55% at 50% 32%, rgba(255,255,255,.35), transparent 70%);
}
.portrait:nth-child(2n){background:linear-gradient(155deg, #a8adba 0%, #7d8392 55%, #5d6371 100%);}
.portrait:nth-child(3n){background:linear-gradient(155deg, #c4c8d1 0%, #979dab 55%, #767c8b 100%);}

/* ---------- TRIPTYQUE ---------- */
.cards-section{
  position:relative;
  background:var(--sand);
  padding:6rem 3rem 7rem;
  overflow:hidden;
  font-family:var(--display);
}
.cards-section::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:280px;
  background:
    radial-gradient(60% 90% at 30% 40%, rgba(255,255,255,.25), transparent 70%),
    linear-gradient(180deg, #b9b4ab 0%, #8f8b84 60%, #6f6c66 100%);
  filter:blur(2px);
}
.cards{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;
}

/* ---------- CONTACT (bandeau sombre) ---------- */
.contact-cta{
  position:relative;color:#fff;padding:9rem 3rem;overflow:hidden;
  background:
    radial-gradient(100% 80% at 20% 90%, rgba(110,120,145,.4), transparent 60%),
    linear-gradient(200deg, #343948 0%, var(--slate-deep) 70%);
}
.contact-cta::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}
.contact-cta-inner{position:relative;max-width:820px;}
.contact-cta .eyebrow{color:rgba(255,255,255,.55);}
.contact-cta h2{color:#fff;max-width:30ch;}
.contact-cta .hero-cta{margin-top:2.5rem;animation:none;opacity:1;}

/* ---------- Accessibilité : mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){
  .hero blockquote,.hero cite{animation:none;opacity:1;transform:none;}
  .strip-track{animation:none;}
}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  /* La marge basse doit juste dégager le bandeau (un seul bloc en mobile) */
  .hero-inner{padding:0 1.4rem;margin-bottom:9rem;}
  .ticker{grid-template-columns:1fr;}
  .ticker a{border-right:none;border-bottom:1px solid rgba(255,255,255,.12);padding:1rem 1.4rem;}
  .ticker a:nth-child(n+2){display:none;}
  .contact-cta{padding:4.5rem 1.4rem;}
  /* .section.news est plus spécifique que .section : sans cette règle,
     la section garde 3rem de marge latérale sur téléphone. */
  .section.news{padding:4rem 1.4rem;}
  .news-grid{grid-template-columns:1fr;gap:2.5rem;}
  /* min-width:0 : sinon la colonne 1fr ne peut pas descendre sous la
     largeur minimale des cartes et fait déborder la page. */
  .news-grid > *{min-width:0;}
  .news .card-top{flex-wrap:wrap;gap:.5rem .8rem;}
  .news .featured-card{padding:2rem 1.5rem 2.2rem;}
  .cards-section{padding:3.5rem 1.4rem 4.5rem;}
  .cards{grid-template-columns:1fr;gap:1.6rem;}
}


/* ---------- BANDEAU INVESTISSEURS ---------- */
.invest-band{background:var(--sand);padding:4rem 4vw;}
.invest-band-inner{max-width:880px;margin:0 auto;text-align:center;}
.invest-band .invest-line{
  font-family:var(--serif);font-weight:400;color:var(--ink-soft);
  font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.5;margin:0 0 1.8rem;
}
.invest-band .view-all{justify-content:center;}
@media (max-width:760px){.invest-band{padding:3rem 1.4rem;}}
