body.sim-route-home { background: #fff; }
body.sim-route-home .sim-home-main { padding: 0 !important; margin: 0 !important; }
body.sim-route-home .sim-home { overflow: hidden; }
body.sim-route-home .sim-container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
body.sim-route-home .sim-section { padding: 84px 0; }
body.sim-route-home .sim-section-heading { max-width: 720px; text-align: center; margin: 0 auto 38px; }
body.sim-route-home .sim-section-heading h2 { font-size: clamp(2rem, 4vw, 3rem); margin: 8px 0 14px; font-weight: 820; }
body.sim-route-home .sim-section-heading p { margin: 0; color: var(--sim-muted); font-size: 1.06rem; }
body.sim-route-home .sim-eyebrow,
body.sim-route-home .sim-kicker { display: inline-flex; color: var(--sim-blue-600); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
body.sim-route-home .sim-eyebrow-light { color: #57d6ff; }

.sim-hero {
    min-height: 570px;
    display: grid;
    align-items: center;
    background:
        radial-gradient(circle at 75% 20%, rgba(25,149,255,.30), transparent 31%),
        radial-gradient(circle at 82% 74%, rgba(64,201,255,.14), transparent 30%),
        linear-gradient(115deg, #03111f 0%, #061d37 54%, #082a4d 100%);
    color: #fff;
    position: relative;
}
.sim-hero::before { content:""; position:absolute; inset:0; opacity:.2; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to right, transparent, black 40%, black); }
.sim-hero-grid { display:grid; grid-template-columns: 1.02fr .98fr; gap:64px; align-items:center; position:relative; z-index:1; }
.sim-hero-copy { padding: 78px 0; }
.sim-kicker { border:1px solid rgba(64,201,255,.35); border-radius:999px; padding:7px 12px; background:rgba(0,118,255,.10); color:#5fd8ff !important; }
.sim-hero h1 { color:#fff !important; font-size:clamp(3rem, 6vw, 5.3rem); font-weight:850; margin:16px 0 12px; letter-spacing:-.055em; }
.sim-hero-role { font-size:clamp(1.2rem, 2.2vw, 1.55rem); font-weight:700; line-height:1.35; color:#eef7ff; margin:0 0 18px; }
.sim-hero-role span { color:#4bcaff; margin:0 .2em; }
.sim-hero-intro { max-width:650px; font-size:1.08rem; color:rgba(238,247,255,.80); margin:0 0 25px; }
.sim-hero-meta { display:flex; flex-wrap:wrap; gap:14px 28px; color:#eaf5ff; font-size:.94rem; margin:0 0 28px; }
.sim-hero-meta span { display:inline-flex; gap:9px; align-items:center; }
.sim-hero-meta i { color:#4ed1ff; }
.sim-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.sim-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:0 20px; border-radius:11px; text-decoration:none !important; font-weight:750; font-size:.94rem; }
.sim-btn:hover { transform:translateY(-2px); }
.sim-btn-primary { color:#fff !important; background:linear-gradient(135deg, #0878ff, #1795ff); box-shadow:0 12px 28px rgba(8,120,255,.29); }
.sim-btn-primary:hover { color:#fff !important; box-shadow:0 16px 34px rgba(8,120,255,.38); }
.sim-btn-ghost { color:#f2f8ff !important; border:1px solid rgba(255,255,255,.42); background:rgba(255,255,255,.035); }
.sim-btn-ghost:hover { color:#fff !important; background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.7); }

.sim-tech-visual { min-height:390px; position:relative; display:flex; align-items:center; justify-content:center; }
.sim-terminal { position:relative; z-index:2; width:min(520px, 100%); border:1px solid rgba(104,211,255,.28); border-radius:18px; overflow:hidden; background:rgba(2,12,23,.82); box-shadow:0 35px 90px rgba(0,0,0,.38), inset 0 0 50px rgba(8,120,255,.06); transform:perspective(900px) rotateY(-5deg) rotateX(2deg); }
.sim-terminal-bar { display:flex; gap:7px; padding:12px 15px; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.035); }
.sim-terminal-bar span { width:9px; height:9px; border-radius:50%; background:#47627c; }
.sim-terminal-body { padding:24px; min-height:245px; font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:.86rem; line-height:1.8; color:#a9c9e5; }
.sim-terminal-body b { color:#69d9ff; }
.sim-terminal-ok { color:#61dfa8; margin-bottom:12px; }
.sim-terminal-muted { color:#90a9c1; }
.sim-network { position:absolute; width:112%; max-width:620px; opacity:.56; filter:drop-shadow(0 0 11px rgba(31,169,255,.45)); }
.sim-network-lines { stroke:#1795ff; stroke-width:1.4; opacity:.65; }
.sim-network-dots { fill:#7be1ff; }

.sim-services { background:#fff; }
.sim-card-grid { display:grid; gap:20px; }
.sim-card-grid-3 { grid-template-columns:repeat(3, minmax(0,1fr)); }
.sim-card-grid-4 { grid-template-columns:repeat(4, minmax(0,1fr)); }
.sim-card { background:#fff; border:1px solid var(--sim-border); border-radius:var(--sim-radius); box-shadow:0 13px 35px rgba(10,39,72,.07); }
.sim-service-card { padding:30px; }
.sim-service-card:hover { transform:translateY(-4px); box-shadow:0 20px 45px rgba(10,39,72,.12); }
.sim-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:17px; color:#0878ff; background:#eaf4ff; font-size:1.45rem; margin-bottom:18px; }
.sim-service-card h3 { font-size:1.35rem; font-weight:800; margin:0 0 16px; }
.sim-service-card ul { list-style:none; padding:0; margin:0 0 20px; color:#506179; }
.sim-service-card li { position:relative; padding-left:23px; margin:8px 0; }
.sim-service-card li::before { content:"✓"; position:absolute; left:0; color:#0878ff; font-weight:800; }
.sim-service-card > a { color:#0878ff !important; text-decoration:none !important; font-weight:750; }

.sim-experience { background:linear-gradient(120deg, #041526, #082b50); color:#fff; }
.sim-experience-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.sim-experience h2 { color:#fff !important; font-size:clamp(2.1rem, 4vw, 3.5rem); font-weight:820; margin:12px 0 20px; max-width:650px; }
.sim-experience p { color:rgba(235,246,255,.78); max-width:700px; font-size:1.03rem; }
.sim-experience-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.10); border-radius:20px; overflow:hidden; }
.sim-experience-points > div { min-height:155px; padding:25px; background:rgba(3,17,31,.48); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.sim-experience-points i { color:#54d4ff; font-size:1.45rem; margin-bottom:12px; }
.sim-experience-points strong { color:#fff; font-size:1.08rem; }
.sim-experience-points span { color:rgba(235,246,255,.66); font-size:.88rem; margin-top:5px; }

.sim-training { background:#f6f9fd; }
.sim-topic-card { position:relative; display:flex; flex-direction:column; min-height:250px; padding:26px; border:1px solid var(--sim-border); background:#fff; border-radius:18px; box-shadow:0 10px 28px rgba(10,39,72,.06); text-decoration:none !important; color:var(--sim-text) !important; overflow:hidden; }
.sim-topic-card::after { content:""; position:absolute; width:120px; height:120px; border-radius:50%; background:#edf6ff; right:-45px; top:-45px; }
.sim-topic-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(10,39,72,.12); border-color:#cbdff4; }
.sim-topic-icon { position:relative; z-index:1; width:52px; height:52px; border-radius:15px; display:grid; place-items:center; background:#eaf4ff; color:#0878ff; font-size:1.35rem; }
.sim-topic-card h3 { font-size:1.23rem; font-weight:800; margin:22px 0 10px; }
.sim-topic-card p { color:var(--sim-muted); font-size:.92rem; flex:1; margin:0 0 20px; }
.sim-link { color:#0878ff; font-weight:760; font-size:.9rem; }
.sim-centered-action { display:flex; justify-content:center; margin-top:28px; }

.sim-projects { background:#fff; }
.sim-project-card { display:flex; align-items:center; gap:20px; min-height:190px; padding:28px; border:1px solid var(--sim-border); border-radius:20px; color:var(--sim-text) !important; text-decoration:none !important; background:linear-gradient(145deg,#fff,#f9fbfe); box-shadow:0 10px 26px rgba(10,39,72,.06); }
.sim-project-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(10,39,72,.12); }
.sim-project-icon { flex:0 0 78px; width:78px; height:78px; display:grid; place-items:center; border-radius:22px; font-size:1.8rem; }
.sim-project-3d .sim-project-icon { background:#e9f4ff; color:#0878ff; }
.sim-project-vr .sim-project-icon { background:#eeebff; color:#7557e8; }
.sim-project-lineage .sim-project-icon { background:#fff1df; color:#b76c17; }
.sim-project-card h3 { font-size:1.3rem; font-weight:800; margin:0 0 8px; }
.sim-project-card p { color:var(--sim-muted); margin:0 0 12px; font-size:.92rem; }
.sim-project-card span { color:#0878ff; font-weight:760; font-size:.9rem; }
.sim-project-lineage span { color:#a76012; }

.sim-cta { background:linear-gradient(135deg,#0878ff,#0a64da); padding:64px 0; color:#fff; }
.sim-cta-inner { display:flex; justify-content:space-between; gap:50px; align-items:center; }
.sim-cta h2 { color:#fff !important; font-size:clamp(2rem,4vw,3.2rem); font-weight:820; margin:7px 0 10px; }
.sim-cta p { margin:0; max-width:720px; color:rgba(255,255,255,.82); }
.sim-btn-light { background:#fff; color:#075ac7 !important; }
.sim-btn-outline-light { color:#fff !important; border:1px solid rgba(255,255,255,.55); }
.sim-btn-outline-light:hover { background:rgba(255,255,255,.12); }

.sim-footer { background:#03111f; color:rgba(255,255,255,.72); padding:38px 0 22px; }
.sim-footer-grid { display:flex; justify-content:space-between; gap:30px; align-items:center; padding-bottom:25px; border-bottom:1px solid rgba(255,255,255,.10); }
.sim-footer-grid > div { display:flex; flex-direction:column; gap:4px; }
.sim-footer-grid strong { color:#fff; font-size:1.08rem; }
.sim-footer-grid span { font-size:.88rem; }
.sim-footer nav { display:flex; flex-wrap:wrap; gap:18px; }
.sim-footer a { color:#d9e9f8 !important; text-decoration:none !important; font-size:.88rem; }
.sim-footer a:hover { color:#51d2ff !important; }
.sim-footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:18px; font-size:.8rem; }

@media (max-width: 1050px) {
    .sim-hero-grid, .sim-experience-grid { grid-template-columns:1fr; }
    .sim-tech-visual { min-height:300px; padding-bottom:60px; }
    .sim-card-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sim-cta-inner { flex-direction:column; align-items:flex-start; }
}

@media (max-width: 767.98px) {
    body.sim-route-home .sim-container { width:min(100% - 28px, 1180px); }
    body.sim-route-home .sim-section { padding:58px 0; }
    .sim-hero { min-height:auto; }
    .sim-hero-copy { padding:60px 0 24px; }
    .sim-hero h1 { font-size:clamp(2.7rem,13vw,4.3rem); }
    .sim-tech-visual { min-height:260px; padding-bottom:48px; }
    .sim-terminal { transform:none; }
    .sim-terminal-body { min-height:210px; padding:18px; font-size:.76rem; }
    .sim-card-grid-3, .sim-card-grid-4 { grid-template-columns:1fr; }
    .sim-experience-grid { gap:36px; }
    .sim-experience-points { grid-template-columns:1fr; }
    .sim-project-card { align-items:flex-start; }
    .sim-footer-grid, .sim-footer-bottom { flex-direction:column; align-items:flex-start; }
}

/* V0.2.1 — hero compact avec terminal, sans photo */
@media (min-width: 1200px) {
    body.sim-route-home .sim-container { width: min(1320px, calc(100% - 72px)); }
    .sim-hero-grid { grid-template-columns: 1.12fr .88fr; gap: 54px; }
    .sim-hero h1 { font-size: clamp(3.7rem, 4.2vw, 4.75rem); white-space: nowrap; }
}

.sim-hero { min-height: 610px; }
.sim-hero-copy { padding: 62px 0; }
.sim-tech-visual { min-height: 380px; }
.sim-terminal {
    width: min(560px, 100%);
}
.sim-terminal-body {
    min-height: 255px;
}
.sim-network {
    width: 118%;
    max-width: 650px;
}

@media (max-width: 1199.98px) {
    .sim-hero h1 { font-size:clamp(3rem, 6vw, 4.4rem); }
}

@media (max-width: 1050px) {
    .sim-hero-grid { gap:24px; }
    .sim-tech-visual { min-height:300px; padding: 0 0 54px; }
    .sim-terminal { max-width:720px; }
}

@media (max-width: 767.98px) {
    .sim-hero-copy { padding:52px 0 22px; }
    .sim-terminal { border-radius:18px; }
}


/* V0.3.0 — ajustements smartphone */
@media (max-width: 767.98px) {
    body.sim-route-home .sim-home,
    body.sim-route-home .sim-hero,
    body.sim-route-home .sim-section,
    body.sim-route-home .sim-cta,
    body.sim-route-home .sim-footer {
        overflow-x: clip;
    }

    body.sim-route-home .sim-hero-grid {
        gap: 10px;
    }

    body.sim-route-home .sim-hero-copy {
        padding: 42px 0 18px;
    }

    body.sim-route-home .sim-hero h1 {
        font-size: clamp(2.35rem, 11.5vw, 3.35rem);
        line-height: 1.02;
        overflow-wrap: anywhere;
    }

    body.sim-route-home .sim-hero-role {
        font-size: 1.08rem;
        line-height: 1.45;
    }

    body.sim-route-home .sim-hero-intro {
        font-size: .96rem;
        line-height: 1.65;
    }

    body.sim-route-home .sim-hero-meta {
        gap: 9px 18px;
        margin-bottom: 22px;
    }

    body.sim-route-home .sim-actions {
        width: 100%;
    }

    body.sim-route-home .sim-btn {
        min-height: 48px;
    }

    body.sim-route-home .sim-tech-visual {
        min-height: 235px;
        padding: 8px 0 36px;
    }

    body.sim-route-home .sim-terminal {
        width: 100%;
        border-radius: 15px;
    }

    body.sim-route-home .sim-terminal-body {
        min-height: 190px;
        padding: 16px;
        font-size: .72rem;
        line-height: 1.7;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.sim-route-home .sim-network {
        width: 120%;
        opacity: .34;
    }

    body.sim-route-home .sim-service-card,
    body.sim-route-home .sim-topic-card,
    body.sim-route-home .sim-project-card {
        padding: 22px;
    }

    body.sim-route-home .sim-project-card {
        gap: 15px;
    }

    body.sim-route-home .sim-project-icon {
        width: 62px;
        height: 62px;
        flex-basis: 62px;
        border-radius: 18px;
        font-size: 1.45rem;
    }

    body.sim-route-home .sim-cta {
        padding: 52px 0;
    }
}

@media (max-width: 479.98px) {
    body.sim-route-home .sim-actions .sim-btn {
        width: 100%;
    }

    body.sim-route-home .sim-kicker {
        font-size: .7rem;
        line-height: 1.35;
    }

    body.sim-route-home .sim-hero-role span {
        display: none;
    }

    body.sim-route-home .sim-hero-role {
        display: grid;
        gap: 4px;
    }

    body.sim-route-home .sim-footer nav {
        gap: 10px 15px;
    }
}


/* V0.3.4 — présentation des futures formations pratiques */
.sim-hero-intro {
    max-width: 760px;
    margin: 0 0 22px;
}
.sim-hero-intro > p {
    margin: 0;
}
.sim-hero-intro > p + p {
    margin-top: 12px;
}
.sim-hero-training {
    color: rgba(238,247,255,.76);
    font-size: .96rem;
    line-height: 1.62;
}
.sim-hero-training strong {
    color: #f4f9ff;
    font-weight: 760;
}
.sim-hero-training-details {
    padding-left: 14px;
    border-left: 2px solid rgba(75,202,255,.55);
}

@media (min-width: 1051px) {
    .sim-hero {
        min-height: 760px;
    }
    .sim-hero-grid {
        grid-template-columns: 1.18fr .82fr;
        gap: 46px;
    }
    .sim-hero-copy {
        padding: 64px 0;
    }
}

@media (max-width: 767.98px) {
    .sim-hero-training {
        font-size: .92rem;
        line-height: 1.58;
    }
    .sim-hero-training-details {
        padding-left: 11px;
    }
}


/* V0.3.5 — H1 SEO cohérent sans sacrifier l'identité visuelle */
body.sim-route-home .sim-hero h1 {
    display: grid;
    gap: 10px;
    white-space: normal;
}

body.sim-route-home .sim-hero-name {
    display: block;
    font-size: 1em;
    line-height: 1;
    letter-spacing: -.055em;
}

body.sim-route-home .sim-hero-seo-title {
    display: block;
    max-width: 900px;
    color: #d8eafa;
    font-size: clamp(1.22rem, 2vw, 1.62rem);
    line-height: 1.28;
    letter-spacing: -.018em;
    font-weight: 760;
}

@media (min-width: 1200px) {
    body.sim-route-home .sim-hero-name {
        white-space: nowrap;
    }
}

@media (max-width: 767.98px) {
    body.sim-route-home .sim-hero h1 {
        gap: 8px;
    }

    body.sim-route-home .sim-hero-name {
        overflow-wrap: normal;
        word-break: normal;
    }

    body.sim-route-home .sim-hero-seo-title {
        font-size: 1.02rem;
        line-height: 1.38;
    }
}
