/* ===================== RESET / BASE ===================== */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --bg-main:#0b0f17;
    --bg-card:#1a2333;
    --bg-card-soft:rgba(255,255,255,0.03);
    --text-main:#fff;
    --text-dim:#aeb6c9;
    --accent:#7ea1ff;
    --border:rgba(255,255,255,.12);
    --radius-xl:20px;
    --radius-md:14px;
    --shadow-card:0 30px 80px rgb(0 0 0 / .6);
    --shadow-soft:0 20px 40px rgb(0 0 0 / .4);
    --nav-height:64px;
    --container-max:1200px;
    --gap:20px;

    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    line-height:1.5;
    color-scheme:dark;
}

body {
    background: radial-gradient(circle at 20% 20%, #1a2333 0%, #0b0f17 60%);
    color:var(--text-main);
    font-size:16px;
}

/* ===================== GENERIC LAYOUT ===================== */

.container {
    max-width:var(--container-max);
    margin:0 auto;
    padding:0 20px;
}

.section-block {
    padding:50px 0 70px;
}

.section-title {
    text-align:left;
    font-size:1.6rem;
    font-weight:600;
    color:#fff;
    margin:0 auto 24px;
    max-width:var(--container-max);
    padding:0 20px;
}

/* ===================== HEADER / NAVBAR ===================== */

.header {
    position:sticky;
    top:0;
    z-index:1000;
    height:var(--nav-height);
    background:rgba(11,15,23,.6);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
    display:flex;
    align-items:center;
}

.nav {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.brand {
    color:#fff;
    font-weight:600;
    font-size:14px;
    letter-spacing:.03em;
}

/* liens nav desktop */
.nav-links {
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
}

.nav-links a {
    color:var(--text-dim);
    text-decoration:none;
    font-size:13px;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid transparent;
    transition:.2s;
    white-space:nowrap;
}

.nav-links a:hover {
    color:#fff;
    border-color:var(--border);
    background:rgba(255,255,255,.05);
}

/* burger (mobile uniquement) */
.burger {
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    background:none;
    border:1px solid var(--border);
    border-radius:10px;
    padding:8px 10px;
    cursor:pointer;
    color:#fff;
}
.burger span {
    width:20px;
    height:2px;
    background:#fff;
    display:block;
    border-radius:2px;
}

/* ===================== HERO (ACCUEIL) ===================== */

.section-hero {
    position:relative;
    background:radial-gradient(circle at 50% -10%,rgba(126,161,255,.25) 0%,rgba(0,0,0,0) 70%),var(--bg-main);
    min-height:calc(100vh - var(--nav-height));
    display:flex;
    align-items:center;
    padding:60px 0 80px;
    overflow:hidden;
}

.hero-bg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:0;
}

.hero-inner {
    position:relative;
    z-index:1;
    max-width:1000px;
    margin:0 auto;
    padding:0 20px;
}

/* Bloc présentation avec photo */
.hero-profile {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:30px;
    text-align:left;
    padding-top:40px;
}

.profile-pic {
    width:180px;
    height:180px;
    border-radius:50%;
    border:3px solid rgba(126,161,255,0.7);
    box-shadow:0 0 25px rgba(126,161,255,0.4);
    object-fit:cover;
}

.hero-text {
    max-width:600px;
}

.hero-eyebrow {
    font-size:11px;
    letter-spacing:.35em;
    color:#cfd5ff;
    opacity:.7;
    margin-bottom:8px;
    text-transform:uppercase;
}

.hero-title {
    font-size:clamp(2.3rem,4vw,3.5rem);
    font-weight:700;
    line-height:1.1;
    color:#fff;
    text-shadow:0 0 20px rgba(255,255,255,.5),0 0 60px rgba(126,161,255,.4);
    margin:0 0 4px;
}

.hero-subtitle {
    font-size:1.05rem;
    color:var(--accent);
    margin-bottom:10px;
}

.hero-desc {
    color:#d0d6ee;
    font-size:0.95rem;
    line-height:1.6;
    margin:0 0 12px;
}

.hero-coords {
    margin-top:8px;
    font-size:0.9rem;
    color:#cfd5ff;
}

.hero-coords i {
    color:var(--accent);
    margin-right:8px;
}

.hero-coords a {
    color:#cfd5ff;
    text-decoration:none;
}
.hero-coords a:hover {
    text-decoration:underline;
}

.hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:16px;
}

/* Liens réseaux (si tu veux les remettre plus tard)
.hero-socials {...}
.social-btn {...}
*/

/* ===================== CARDS / GRID / LIST ===================== */

.card {
    background:var(--bg-card-soft);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    padding:20px 24px;
    color:#fff;
    box-shadow:var(--shadow-card);
    margin-bottom:20px;
}

.about-card {
    max-width:900px;
    margin:0 auto;
}

.about-intro {
    text-align:center;
    font-style:italic;
    color:#cfd5ff;
    margin-bottom:16px;
}

.list {
    padding-left:18px;
    font-size:0.95rem;
    line-height:1.55;
    color:#d0d6ee;
}

.list li {
    margin-bottom:6px;
}

.grid-3 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
    gap:var(--gap);
}

/* ===================== SECTION BTS SIO ===================== */

.bts-top {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    align-items:center;
    margin-bottom:30px;
}

.bts-top img {
    max-width:100%;
    height:auto;
    display:block;
    border-radius:var(--radius-md);
    border:1px solid var(--border);
    background-color:#0b0f17;
    box-shadow:var(--shadow-soft);
}

.bts-text {
    color:#d0d6ee;
    font-size:0.95rem;
    line-height:1.6;
}

.bts-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
    gap:20px;
}

.bts-card {
    text-align:center;
    background:var(--bg-card-soft);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    padding:20px;
    box-shadow:var(--shadow-card);
}

.bts-card-title {
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.25em;
    margin-bottom:14px;
    color:#fff;
    font-weight:600;
}

.bts-card-img {
    width:70%;
    max-width:360px;
    height:auto;
    display:block;
    margin:0 auto 14px;
    border-radius:var(--radius-md);
    border:1px solid var(--border);
    background-color:#0b0f17;
    box-shadow:var(--shadow-soft);
}

.bts-card-text {
    font-size:0.95rem;
    line-height:1.55;
    color:#d0d6ee;
    margin-bottom:16px;
}

/* ===================== CONTACT ===================== */

.contact-card {
    max-width:700px;
    margin:0 auto 28px;
}

.contact-infos {
    text-align:center;
    color:#d0d6ee;
    font-size:0.9rem;
    line-height:1.6;
}

.contact-infos i {
    color:var(--accent);
    margin-right:6px;
}

/* ===================== BOUTONS ===================== */

.btn {
    display:inline-block;
    border-radius:var(--radius-md);
    padding:10px 16px;
    font-size:0.9rem;
    font-weight:600;
    text-decoration:none;
    cursor:pointer;
    border:1px solid transparent;
    line-height:1.2;
    white-space:nowrap;
    color:#fff;
}

.btn-primary {
    background:rgba(126,161,255,.35);
    border:1px solid rgba(126,161,255,.4);
    box-shadow:0 20px 40px rgba(126,161,255,.3);
    transition:.2s;
}

.btn-primary:hover {
    background:rgba(126,161,255,.55);
}

.btn-outline {
    background:rgba(255,255,255,.05);
    border:1px solid var(--border);
    box-shadow:var(--shadow-soft);
    transition:.2s;
}

.btn-outline:hover {
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.5);
}

/* ===================== FOOTER ===================== */

.footer {
    background:#0b0f17;
    border-top:1px solid var(--border);
    padding:30px 20px;
    color:#fff;
    text-align:center;
    font-size:0.8rem;
    line-height:1.5;
}

/* ===================== REVEAL ANIMATION ===================== */

.reveal {
    opacity:0;
    transform:translateY(16px);
    transition:opacity .5s ease, transform .5s ease;
}

.reveal.visible {
    opacity:1;
    transform:none;
}

/* ===================== RESPONSIVE ===================== */

@media (max-width:900px){
    .bts-top {
        grid-template-columns:1fr;
        text-align:left;
    }
    .bts-top img {
        max-width:300px;
        margin:0 auto;
    }
}

@media (max-width:780px){
    /* nav mobile */
    .nav-links {
        position:absolute;
        top:var(--nav-height);
        right:16px;
        background:#0b0f17;
        border:1px solid var(--border);
        border-radius:var(--radius-md);
        box-shadow:var(--shadow-card);
        width:200px;
        flex-direction:column;
        align-items:flex-start;
        padding:12px;
        display:none;
        max-height:70vh;
        overflow:auto;
    }

    .nav-links.open {
        display:flex;
    }

    .nav-links a {
        width:100%;
        padding:8px 10px;
        font-size:14px;
    }

    .burger {
        display:flex;
    }

    .hero-profile {
        flex-direction:column;
        text-align:center;
    }

    .hero-text {
        text-align:center;
    }
}

/* ===================== ACTIVITÉS ===================== */

.activity-card {
    text-align: center;
}

.activity-icon {
    font-size: 2.2rem;
    margin-bottom: 10px;
}

.activity-card h3 {
    font-size: 1.1rem;
    margin-bottom: 6px;
    color: #fff;
}

.activity-subtitle {
    font-size: 0.85rem;
    color: var(--accent);
    margin-bottom: 10px;
    font-weight: 600;
}

.activity-card p {
    font-size: 0.95rem;
    color: #d0d6ee;
    line-height: 1.5;
}

/* ===================== ONGLET PROJETS ===================== */

.projects-tabs {
    display: flex;
    gap: 12px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.tab-btn {
    background: rgba(255,255,255,.05);
    border: 1px solid var(--border);
    color: var(--text-dim);
    padding: 10px 18px;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 600;
    transition: .2s;
}

.tab-btn:hover {
    color: #fff;
    background: rgba(255,255,255,.1);
}

.tab-btn.active {
    background: rgba(126,161,255,.35);
    color: #fff;
    border-color: rgba(126,161,255,.5);
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

/* ===================== VEILLE TECHNOLOGIQUE (DARK GLASS, SANS DORÉ) ===================== */

.veille-section{
  padding:70px 0 80px;
}

/* Titre + sous-titre (blanc / gris) */
.veille-title{
  text-align:center;
  font-size:2.2rem;
  font-weight:800;
  color:#fff;
  margin-bottom:8px;
}

.veille-subtitle{
  text-align:center;
  color:var(--text-dim);
  margin-bottom:40px;
}

/* Layout top : 2 colonnes */
.veille-top{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:26px;
  align-items:stretch;
  margin-bottom:26px;
}

/* ========== STYLE “glass card” commun ========== */
.glass-card,
.veille-hero,
.veille-analyses-v2,
.veille-sources-v2,
.veille-method{
  background: rgba(255,255,255,.03);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
}

/* ===================== SUJET PRINCIPAL ===================== */

.veille-hero{
  padding:26px;
  color:#fff;
  position:relative;
  overflow:hidden;
}

.veille-hero::after{
  content:"";
  position:absolute;
  inset:-60px -60px auto auto;
  width:220px;
  height:220px;
  background: radial-gradient(circle, rgba(126,161,255,.18) 0%, rgba(0,0,0,0) 70%);
  pointer-events:none;
}

.veille-hero-icon{
  font-size:1.5rem;
  margin-bottom:12px;
  color:var(--accent);
  position:relative;
  z-index:1;
}

.veille-hero h3{
  font-size:1.55rem;
  font-weight:900;
  line-height:1.2;
  margin-bottom:14px;
  position:relative;
  z-index:1;
}

.veille-hero p{
  color:#d0d6ee;
  font-size:0.98rem;
  line-height:1.75;
  margin-bottom:10px;
  position:relative;
  z-index:1;
}

.veille-hero-note{
  margin-top:18px;
  padding:16px;
  border-radius:18px;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--border);
  color: var(--text-dim);
  position:relative;
  z-index:1;
}

/* ===================== ANALYSES ===================== */

.veille-analyses-v2{
  padding:26px;
}

.veille-analyses-title{
  font-size:1.55rem;
  font-weight:900;
  color:#fff;
  margin-bottom:18px;
}

/* Cartes analyses (dark) */
.analyse-v2{
  background: rgba(255,255,255,.03);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding:18px 18px 16px;
  margin-bottom:16px;
  position:relative;
  overflow:hidden;
}

/* petite barre accent bleu à gauche */
.analyse-v2::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background: rgba(126,161,255,.85);
  box-shadow: 0 0 20px rgba(126,161,255,.25);
}

/* Date */
.analyse-v2-date{
  color: var(--accent);
  font-weight:800;
  font-size:0.95rem;
  margin-bottom:10px;
  padding-left:10px;
}

/* Titre */
.analyse-v2-h{
  font-size:1.15rem;
  font-weight:900;
  color:#fff;
  margin-bottom:10px;
  padding-left:10px;
  line-height:1.25;
}

/* Texte */
.analyse-v2-text{
  color: var(--text-dim);
  line-height:1.7;
  margin-bottom:14px;
  padding-left:10px;
}

/* Tags */
.analyse-v2-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding-left:10px;
  margin-bottom:10px;
}

.analyse-v2-tags .tag{
  background: rgba(255,255,255,.05);
  border: 1px solid var(--border);
  padding:7px 12px;
  border-radius:999px;
  font-size:0.85rem;
  font-weight:800;
  color:#fff;
}

/* Mon avis */
.analyse-v2-opinion{
  padding-left:10px;
  color: var(--text-dim);
  line-height:1.7;
}

.analyse-v2-opinion strong{
  color:#fff;
  font-weight:900;
}

/* ===================== SOURCES & OUTILS ===================== */

.veille-sources-v2{
  padding:26px;
  margin-top:18px;
  margin-bottom:18px;
}

.veille-sources-title{
  font-size:1.55rem;
  font-weight:900;
  color:#fff;
  margin-bottom:18px;
}

.sources-v2-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:18px;
}

.source-v2-card{
  background: rgba(255,255,255,.03);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding:18px;
  position:relative;
  overflow:hidden;
}

.source-v2-card::after{
  content:"";
  position:absolute;
  inset:-50px -50px auto auto;
  width:160px;
  height:160px;
  background: radial-gradient(circle, rgba(126,161,255,.14) 0%, rgba(0,0,0,0) 70%);
  pointer-events:none;
}

.source-v2-ico{
  font-size:1.5rem;
  margin-bottom:10px;
  color: var(--accent);
  position:relative;
  z-index:1;
}

.source-v2-card h4{
  font-size:1.1rem;
  font-weight:900;
  color:#fff;
  margin-bottom:12px;
  position:relative;
  z-index:1;
}

.source-v2-card ul{
  margin:0;
  padding-left:18px;
  color: var(--text-dim);
  line-height:1.75;
  position:relative;
  z-index:1;
}

.source-v2-card li{
  margin-bottom:6px;
}

/* ===================== MÉTHODO (en cartes, propre) ===================== */

.veille-method{
  padding:26px;
  margin-top:18px;
}

.veille-method-title{
  font-size:1.55rem;
  font-weight:900;
  color:#fff;
  margin-bottom:18px;
}

.method-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:18px;
}

.method-step{
  background: rgba(255,255,255,.03);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding:20px 18px;
  text-align:left;
  position:relative;
  overflow:hidden;
}

.method-step::after{
  content:"";
  position:absolute;
  inset:-60px -60px auto auto;
  width:160px;
  height:160px;
  background: radial-gradient(circle, rgba(126,161,255,.14) 0%, rgba(0,0,0,0) 70%);
  pointer-events:none;
}

.method-num{
  width:48px;
  height:48px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#fff;
  background: rgba(126,161,255,.28);
  border: 1px solid rgba(126,161,255,.45);
  box-shadow: 0 18px 34px rgba(126,161,255,.18);
  margin-bottom:10px;
  position:relative;
  z-index:1;
}

.method-title{
  font-size:1.1rem;
  font-weight:900;
  color:#fff;
  margin-bottom:8px;
  position:relative;
  z-index:1;
}

.method-step p{
  color: var(--text-dim);
  line-height:1.65;
  position:relative;
  z-index:1;
}

/* ===================== RESPONSIVE ===================== */

@media (max-width: 950px){
  .veille-top{ grid-template-columns: 1fr; }
  .sources-v2-grid{ grid-template-columns: 1fr; }
  .method-grid{ grid-template-columns: 1fr; }
}


/* ===================== PROJET PROFESSIONNEL (DARK / GLASS) ===================== */

.pro-section{
  padding:70px 0 80px;
}

.pro-title{
  text-align:center;
  font-size:2.2rem;
  font-weight:800;
  color:#fff;
  margin-bottom:8px;
}

.pro-subtitle{
  text-align:center;
  color:var(--text-dim);
  margin-bottom:40px;
}

.pro-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:22px;
}

/* Card glass */
.pro-card{
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-card);
  overflow:hidden;
  position:relative;
}

/* petite lueur bleue en coin */
.pro-card::after{
  content:"";
  position:absolute;
  inset:-70px -70px auto auto;
  width:220px;
  height:220px;
  background:radial-gradient(circle, rgba(126,161,255,.16) 0%, rgba(0,0,0,0) 70%);
  pointer-events:none;
}

.pro-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px 18px 14px;
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.02);
  position:relative;
  z-index:1;
}

.pro-ico{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(126,161,255,.22);
  border:1px solid rgba(126,161,255,.35);
  box-shadow:0 16px 30px rgba(126,161,255,.12);
  color:#fff;
  font-size:1.2rem;
}

.pro-head h3{
  color:#fff;
  font-size:1.15rem;
  font-weight:900;
  margin:0;
}

.pro-body{
  padding:18px;
  position:relative;
  z-index:1;
}

.pro-body h4{
  color:var(--accent);
  font-size:1.02rem;
  font-weight:900;
  margin:10px 0 10px;
}

.pro-list{
  margin:0 0 12px;
  padding-left:18px;
  color:#d0d6ee;
  line-height:1.65;
}

.pro-list li{
  margin-bottom:8px;
}

/* version “check” (sans emoji, propre) */
.pro-list-check{
  list-style:none;
  padding-left:0;
}

.pro-list-check li{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.pro-list-check li::before{
  content:"✓";
  flex:0 0 auto;
  font-weight:900;
  color:var(--accent);
  background:rgba(126,161,255,.12);
  border:1px solid rgba(126,161,255,.25);
  width:22px;
  height:22px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:2px;
}


/* ===================== SOFT SKILLS ===================== */

.soft-section{
  padding:70px 0 80px;
}

.soft-title{
  text-align:center;
  font-size:2.2rem;
  font-weight:800;
  color:#fff;
  margin-bottom:8px;
}

.soft-subtitle{
  text-align:center;
  color:var(--text-dim);
  margin-bottom:36px;
}

/* Pills */
.soft-pills{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-bottom:40px;
}

.soft-pill{
  padding:12px 22px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  color:#fff;
  font-weight:700;
  box-shadow:var(--shadow-card);
  transition:.2s;
}

.soft-pill:hover{
  transform:translateY(-2px);
  background:rgba(126,161,255,.15);
}

/* Expériences */
.soft-experiences{
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-card);
  padding:30px 26px;
}

.soft-experiences h3{
  text-align:center;
  color:#fff;
  font-size:1.6rem;
  font-weight:900;
  margin-bottom:28px;
}

/* Grille expériences */
.soft-exp-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:22px;
}

.soft-exp-card{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:20px;
  padding:22px;
  text-align:center;
  position:relative;
  overflow:hidden;
}

/* petite lueur accent */
.soft-exp-card::after{
  content:"";
  position:absolute;
  inset:-50px -50px auto auto;
  width:160px;
  height:160px;
  background:radial-gradient(circle, rgba(126,161,255,.14) 0%, rgba(0,0,0,0) 70%);
  pointer-events:none;
}

.soft-exp-ico{
  font-size:2rem;
  margin-bottom:14px;
}

.soft-exp-card h4{
  color:#fff;
  font-size:1.15rem;
  font-weight:900;
  margin-bottom:10px;
}

.soft-exp-card p{
  color:var(--text-dim);
  line-height:1.6;
}

/* Responsive */
@media (max-width: 800px){
  .soft-pills{
    gap:10px;
  }
}


/* ===================== ALTERNANCE (DARK / GLASS) ===================== */

.alt-section{
  padding:70px 0 80px;
}

.alt-title{
  text-align:center;
  font-size:2.2rem;
  font-weight:800;
  color:#fff;
  margin-bottom:8px;
}

.alt-subtitle{
  text-align:center;
  color:var(--text-dim);
  margin-bottom:40px;
}

.alt-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:22px;
}

/* card glass */
.alt-card{
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-card);
  overflow:hidden;
  position:relative;
}

.alt-card::after{
  content:"";
  position:absolute;
  inset:-70px -70px auto auto;
  width:220px;
  height:220px;
  background:radial-gradient(circle, rgba(126,161,255,.14) 0%, rgba(0,0,0,0) 70%);
  pointer-events:none;
}

/* header */
.alt-card-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px;
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.02);
  position:relative;
  z-index:1;
}

.alt-ico{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(126,161,255,.22);
  border:1px solid rgba(126,161,255,.35);
  box-shadow:0 16px 30px rgba(126,161,255,.12);
  color:#fff;
  font-size:1.2rem;
}

.alt-card-head h3{
  margin:0;
  color:#fff;
  font-size:1.15rem;
  font-weight:900;
}

.alt-card-body{
  padding:18px;
  position:relative;
  z-index:1;
}

.alt-card-body p{
  color:#d0d6ee;
  line-height:1.7;
}

/* badges */
.alt-info{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.alt-badge{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  color:#fff;
  font-weight:700;
  font-size:.88rem;
}

/* highlight */
.alt-highlight{
  margin-top:14px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  color:var(--text-dim);
}

/* lists */
.alt-list{
  margin:0;
  padding-left:18px;
  color:#d0d6ee;
  line-height:1.7;
}

.alt-list li{
  margin-bottom:10px;
}

.alt-sublist{
  margin-top:8px;
  padding-left:18px;
  color:var(--text-dim);
}

.alt-checks{
  list-style:none;
  padding-left:0;
  margin:0;
}

.alt-checks li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#d0d6ee;
  margin-bottom:10px;
  line-height:1.65;
}

.alt-checks li::before{
  content:"✓";
  flex:0 0 auto;
  font-weight:900;
  color:var(--accent);
  background:rgba(126,161,255,.12);
  border:1px solid rgba(126,161,255,.25);
  width:22px;
  height:22px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:2px;
}

/* tags */
.alt-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.alt-tag{
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--border);
  color:#fff;
  font-weight:800;
  font-size:.86rem;
}

.alt-note{
  margin-top:12px;
  color:var(--text-dim) !important;
  font-size:.92rem;
}

/* wide card option */
.alt-card-wide{
  grid-column: 1 / -1;
}

@media (max-width: 820px){
  .alt-card-wide{
    grid-column:auto;
  }
}


/* ===== VEILLE : compléments (sources, liens, listes, code inline) ===== */

.analyse-v2 a,
.veille-sources-v2 a{
  color: #cfd5ff;
  text-decoration: none;
  border-bottom: 1px dashed rgba(207, 213, 255, .35);
  transition: .2s;
}

.analyse-v2 a:hover,
.veille-sources-v2 a:hover{
  color: #fff;
  border-bottom-color: rgba(255,255,255,.7);
}

.analyse-v2-list{
  padding-left: 10px;
  margin-bottom: 10px;
  color: var(--text-dim);
}

.analyse-v2-list ul{
  margin: 8px 0 12px;
  padding-left: 18px;
  line-height: 1.7;
}

.analyse-v2-list li{
  margin-bottom: 6px;
}

.code-inline{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: .92em;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  color: #fff;
}

.analyse-v2-sources{
  margin-top: 12px;
  padding-left: 10px;
  color: var(--text-dim);
  font-size: .92rem;
  line-height: 1.6;
}

.analyse-v2-sources strong{
  color: #fff;
  font-weight: 900;
}


/* ===================== PROJETS v2 (cards comme la photo 2) ===================== */

.projects-grid-v2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: stretch;
}

@media (max-width: 900px){
  .projects-grid-v2{
    grid-template-columns: 1fr;
  }
}

.proj-card{
  background: rgba(255,255,255,.03);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.proj-head{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 18px 14px;
  background: rgba(255,255,255,.02);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.proj-ico{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  background: rgba(126,161,255,.15);
  border: 1px solid rgba(126,161,255,.25);
  box-shadow: 0 0 18px rgba(126,161,255,.12);
}

.proj-head h3{
  margin: 0;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 900;
}

.proj-body{
  padding: 16px 18px 18px;
}

.proj-desc{
  margin: 0 0 14px;
  color: #d0d6ee;
  line-height: 1.7;
  font-size: .98rem;
}

.proj-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}

.proj-badge{
  padding: 8px 12px;
  border-radius: 999px;
  font-size: .9rem;
  color: #fff;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
}

.proj-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}

.proj-tag{
  padding: 7px 12px;
  border-radius: 999px;
  font-size: .9rem;
  color: #cfd5ff;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.10);
}

.proj-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.proj-link{
  color: #cfd5ff;
  text-decoration: none;
  border-bottom: 1px dashed rgba(207,213,255,.35);
  transition: .2s;
  font-weight: 700;
}

.proj-link:hover{
  color: #fff;
  border-bottom-color: rgba(255,255,255,.7);
}
