:root{--bg:#071126;--panel:#0d1c38;--text:#f7fbff;--muted:#b5c4d9;--cyan:#4de8ff;--coral:#ff8166;--violet:#9b7cff;--line:rgba(255,255,255,.12)}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 system-ui,-apple-system,Segoe UI,sans-serif}

a{color:inherit;text-decoration:none}

img{max-width:100%;height:auto;display:block}

.wrap{width:min(1160px,calc(100% - 36px));margin:auto}

body>header{position:sticky;top:0;z-index:10;background:rgba(7,17,38,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}

nav{height:72px;display:flex;align-items:center;justify-content:space-between}

.brand{font-weight:900;letter-spacing:-.03em}

.brand span{color:var(--cyan)}

.navlinks{display:flex;gap:24px;color:var(--muted);font-weight:650}

.hero{min-height:680px;display:grid;align-items:center;background:linear-gradient(90deg,rgba(7,17,38,.98) 0%,rgba(7,17,38,.78) 39%,rgba(7,17,38,.08) 72%),url('/assets/hero-jouets-connectes.png') center/cover no-repeat;background-attachment:scroll}

.hero-copy{max-width:650px;padding:80px 0}

.eyebrow{color:var(--cyan);font-weight:800;letter-spacing:.13em;text-transform:uppercase;font-size:.8rem}

.hero h1{font-size:clamp(2.7rem,7vw,5.7rem);line-height:.98;letter-spacing:-.06em;margin:18px 0 24px}

.hero p{font-size:1.18rem;color:var(--muted);max-width:620px}

.play-pills{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 4px}

.play-pills span{padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(7,17,38,.64);backdrop-filter:blur(8px);font-size:.88rem;font-weight:750;box-shadow:0 8px 24px rgba(0,0,0,.16)}

.cta{display:inline-block;margin-top:22px;padding:14px 20px;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--violet));color:#061020;font-weight:900}

.section{padding:84px 0}

.section h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.1;letter-spacing:-.04em}

.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}

.card{background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:22px;padding:26px}

.fun-section{background:radial-gradient(circle at 82% 12%,rgba(155,124,255,.15),transparent 30%),radial-gradient(circle at 10% 80%,rgba(255,129,102,.11),transparent 32%)}

.fun-card{position:relative;overflow:hidden;transition:transform .25s ease,border-color .25s ease}

.fun-card:hover{transform:translateY(-5px);border-color:rgba(77,232,255,.42)}

.fun-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-45px;top:-45px;background:linear-gradient(135deg,rgba(77,232,255,.25),rgba(155,124,255,.18))}

.card .num{color:var(--coral);font-weight:900}

.card p,.intro{color:var(--muted)}

.article-card{grid-column:span 2;padding:34px}
.article-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:14px;margin-bottom:22px}

.article-card h3{font-size:2rem;line-height:1.15}

.tag{display:inline-block;padding:6px 11px;border-radius:999px;background:rgba(77,232,255,.12);color:var(--cyan);font-size:.8rem;font-weight:800}

.safety{border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(77,232,255,.045),transparent)}

.safety .intro{max-width:760px;font-size:1.08rem}

.article{width:min(820px,calc(100% - 36px));margin:auto;padding:72px 0}

.article h1{font-size:clamp(2.5rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.055em}

.article h2{margin-top:52px;font-size:2rem}

.article p,.article li{color:#cfdaea}

.note{border-left:4px solid var(--cyan);background:var(--panel);padding:20px 24px;border-radius:0 14px 14px 0}

footer{border-top:1px solid var(--line);padding:32px 0;color:var(--muted)}

@media(max-width:980px){.navlinks{display:none}

.hero{min-height:650px;background:linear-gradient(180deg,rgba(7,17,38,.55),rgba(7,17,38,.94) 68%),url('/assets/hero-jouets-connectes.png') 66% center/cover no-repeat;background-attachment:scroll}

.hero-copy{padding-top:300px}

.play-pills{gap:8px}

.play-pills span{font-size:.8rem}

.grid{grid-template-columns:1fr}

.article-card{grid-column:auto}

.section{padding:58px 0}

}

/* Editorial additions: clear links, readable notes and proportional media. */
article img{max-width:100%;height:auto}
.moc-article-figure{margin:1.75rem 0 2rem}
.moc-article-figure img{width:100%;height:auto;border-radius:12px}
.moc-article-figure figcaption{font-size:.9rem;opacity:.8;margin-top:.45rem}
.moc-related,.moc-source,.moc-subscribe{margin:1.5rem 0;line-height:1.7}
.moc-faq{margin-top:2.25rem}
.moc-faq h3{margin-top:1.35rem}
.moc-related a,.moc-source a,.moc-subscribe a{text-decoration:underline;text-underline-offset:.18em}
.moc-related a:focus-visible,.moc-source a:focus-visible,.moc-subscribe a:focus-visible{outline:3px solid currentColor;outline-offset:3px}

/* Accès commun au portail du réseau MOC. */
footer .moc-network{margin-top:12px;font-size:.85rem}
footer .moc-network a{color:inherit;text-decoration:underline;text-underline-offset:3px}
