/*
Theme Name: IMMOTEK Child BRIEF (Apple TV + Sections)
Template: hello-elementor
Version: 1.0.0
Description: Home complète selon brief (Hero Apple TV + Services + Compteurs + KNX + Partenaires + Projets + Contact). Données depuis /bo/data/projects.json
Author: IMMOTEK
*/
:root{--bg:#04060a;--panel:rgba(255,255,255,.05);--stroke:rgba(255,255,255,.10);--text:rgba(255,255,255,.92);--muted:rgba(255,255,255,.66);--muted2:rgba(255,255,255,.46);--accent:#58A6FF;--accentGlow:rgba(88,166,255,.18);--radius:22px;--max:1160px;}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
a{color:inherit;text-decoration:none}.container{max-width:var(--max);margin:0 auto;padding:0 18px}.section{padding:70px 0}
.section h2{margin:0;font-family:"Space Grotesk",Inter,sans-serif;font-size:28px}.section p.lead{color:var(--muted);max-width:72ch;line-height:1.7}
.hero{position:relative;min-height:100vh;overflow:hidden}.bg{position:absolute;inset:-6vh -6vw;background-size:cover;background-position:center;will-change:transform,opacity;filter:saturate(1.04) contrast(1.03);opacity:0;}
.overlay{position:absolute;inset:0;background:radial-gradient(900px 520px at 20% 25%, rgba(88,166,255,.20), transparent 60%),radial-gradient(900px 520px at 80% 10%, rgba(255,255,255,.06), transparent 60%),linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.74));}
@keyframes ken1{0%{transform:scale(1.14) translate3d(0,0,0)}100%{transform:scale(1.02) translate3d(-22px,12px,0)}}@keyframes ken2{0%{transform:scale(1.16) translate3d(10px,0,0)}100%{transform:scale(1.03) translate3d(-18px,14px,0)}}@keyframes ken3{0%{transform:scale(1.15) translate3d(0,8px,0)}100%{transform:scale(1.02) translate3d(-20px,-6px,0)}}
.bg.bg1{animation:fade1 36s linear infinite,ken1 26s ease-in-out infinite alternate}.bg.bg2{animation:fade2 36s linear infinite,ken2 28s ease-in-out infinite alternate}.bg.bg3{animation:fade3 36s linear infinite,ken3 30s ease-in-out infinite alternate}
@keyframes fade1{0%{opacity:1}30%{opacity:1}33%{opacity:0}97%{opacity:0}100%{opacity:1}}@keyframes fade2{0%{opacity:0}30%{opacity:0}33%{opacity:1}63%{opacity:1}66%{opacity:0}100%{opacity:0}}@keyframes fade3{0%{opacity:0}63%{opacity:0}66%{opacity:1}97%{opacity:1}100%{opacity:0}}
@media (prefers-reduced-motion: reduce){.bg{animation:none !important;opacity:1 !important;transform:none !important;}}
.topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 18px 0;}
.brand{display:flex;gap:12px;align-items:center}.mark{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg, rgba(88,166,255,.42), rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 50px rgba(0,0,0,.45);font-family:"Space Grotesk",Inter,sans-serif;font-weight:600;}
.bname{font-family:"Space Grotesk",Inter,sans-serif;font-weight:600;letter-spacing:.02em}.btag{font-size:12px;color:var(--muted2);margin-top:2px}
.nav{display:flex;gap:18px;align-items:center}.nav a{color:rgba(255,255,255,.72);font-size:14px;padding:10px 8px;border-radius:12px}.nav a:hover{color:var(--text);background:rgba(255,255,255,.04)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.14);font-weight:600;font-size:14px;transition:transform .12s ease, background .12s ease;backdrop-filter:blur(10px);}
.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg, rgba(88,166,255,.98), rgba(88,166,255,.55));border-color:rgba(88,166,255,.45);color:#06101f;box-shadow:0 18px 70px var(--accentGlow);}
.btn.ghost{background:rgba(0,0,0,.16)}
.heroContent{position:relative;z-index:2;width:min(1100px, 92vw);margin:0 auto;padding:10vh 0 0;}
.kicker{color:rgba(255,255,255,.74);font-size:13px;letter-spacing:.10em;text-transform:uppercase}.h1{margin:14px 0 12px;font-family:"Space Grotesk",Inter,sans-serif;font-size:clamp(34px,4vw,62px);line-height:1.02;letter-spacing:-0.02em}
.heroLead{margin:0;color:var(--muted);font-size:16px;line-height:1.7;max-width:68ch}.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.pill{padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.18);color:rgba(255,255,255,.78);font-size:13px;backdrop-filter:blur(10px);}
.featured{margin-top:22px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.18);padding:12px;backdrop-filter:blur(10px);display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;}
.featured .meta{display:flex;gap:18px;flex-wrap:wrap}.featured .k{color:var(--muted2);font-size:12px}.featured .v{margin-top:4px;font-family:"Space Grotesk",Inter,sans-serif;font-weight:600}
.heroFoot{position:absolute;left:0;right:0;bottom:16px;z-index:2;display:flex;justify-content:center;padding:0 18px}.hint{border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);padding:10px 12px;color:rgba(255,255,255,.70);font-size:12px;backdrop-filter:blur(10px);}
.grid{display:grid;gap:14px}.cards5{grid-template-columns:repeat(5,1fr)}@media (max-width:1100px){.cards5{grid-template-columns:repeat(2,1fr)}}
.card{border-radius:var(--radius);border:1px solid var(--stroke);background:var(--panel);padding:14px}
.counters{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px}@media (max-width:980px){.counters{grid-template-columns:1fr}}
.counter{border-radius:var(--radius);border:1px solid var(--stroke);background:var(--panel);padding:14px}.counter .k{color:var(--muted2);font-size:12px}.counter .v{margin-top:10px;font-family:"Space Grotesk",Inter,sans-serif;font-weight:700;font-size:22px}
.logoRow{display:flex;gap:12px;overflow:auto;padding:12px 0;scroll-snap-type:x mandatory}.logoCard{flex:0 0 160px;scroll-snap-align:start;border-radius:18px;border:1px solid var(--stroke);background:rgba(255,255,255,.04);padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px}
.logoCard img{max-width:120px;max-height:60px;object-fit:contain;filter:grayscale(1);opacity:.9}.logoCard .lname{font-size:12px;color:rgba(255,255,255,.78);text-align:center}
@media (max-width:820px){.heroContent{padding-top:7vh}.nav{display:none}}
