:root{--bg:#050505;--panel:#0c0c0d;--panel2:#121214;--text:#f5f3ed;--muted:#b8b3a8;--gold:#d8a93a;--cyan:#4fc7ff;--line:rgba(216,169,58,.28);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.top{position:sticky;top:0;z-index:30;background:rgba(5,5,5,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:84px;height:52px;object-fit:contain}.brand span{font-size:.72rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}.menu{display:flex;gap:24px;align-items:center;font-size:.86rem;text-transform:uppercase;letter-spacing:.07em}.menu a:hover,.menu a.active{color:var(--gold)}.hero{min-height:82vh;position:relative;display:grid;align-items:center;isolation:isolate;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.35)),url('images/azalai-hero.jpg') center/cover}.hero:before,.hero:after{content:"";position:absolute;inset:auto;z-index:-1;border-radius:50%;filter:blur(1px);opacity:.8}.hero:before{width:1100px;height:2px;left:-100px;top:40%;background:linear-gradient(90deg,transparent,var(--cyan),var(--gold),transparent);box-shadow:0 0 18px var(--cyan),0 0 50px var(--gold);transform:rotate(-9deg);animation:sweep 6s ease-in-out infinite alternate}.hero:after{width:800px;height:2px;right:-130px;top:25%;background:linear-gradient(90deg,transparent,var(--gold),transparent);box-shadow:0 0 28px var(--gold);transform:rotate(13deg);animation:sweep2 7s ease-in-out infinite alternate}@keyframes sweep{to{transform:translateY(120px) rotate(-4deg);opacity:.35}}@keyframes sweep2{to{transform:translateY(160px) rotate(7deg);opacity:.3}}.hero h1{font-size:clamp(3rem,7vw,7rem);line-height:.93;margin:0;max-width:900px;font-weight:500;letter-spacing:-.04em}.hero h1 strong{display:block;color:var(--gold);font-weight:700}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;margin-bottom:20px}.lead{max-width:720px;font-size:1.15rem;color:#e8e3d8}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;padding:13px 20px;border:1px solid var(--gold);color:var(--gold);text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;transition:.25s}.btn:hover{background:var(--gold);color:#050505;box-shadow:0 0 30px rgba(216,169,58,.35)}.btn.primary{background:var(--gold);color:#050505}.section{padding:95px 0;position:relative}.section.alt{background:var(--panel)}.section h2{font-size:clamp(2rem,4vw,4.2rem);line-height:1.05;margin:0 0 18px}.section-intro{max-width:760px;color:var(--muted);font-size:1.05rem;margin-bottom:40px}.grid{display:grid;gap:22px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.card{background:linear-gradient(145deg,var(--panel2),#080809);border:1px solid var(--line);padding:28px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;width:160px;height:1px;right:-25px;top:30px;background:linear-gradient(90deg,transparent,var(--gold));box-shadow:0 0 15px var(--gold);transform:rotate(-18deg)}.card h3{margin:8px 0 8px}.card p{color:var(--muted)}.project{min-height:390px;display:flex;align-items:flex-end;background-size:cover;background-position:center;border:1px solid var(--line);position:relative;overflow:hidden}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.94))}.project .caption{position:relative;z-index:2;padding:24px}.project h3{font-size:1.5rem;margin:0 0 4px}.project small{color:var(--gold);text-transform:uppercase;letter-spacing:.12em}.process{counter-reset:step;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.step{padding:23px 16px;border-top:1px solid var(--gold);background:#0c0c0d}.step:before{counter-increment:step;content:"0" counter(step);color:var(--gold);font-size:.76rem;letter-spacing:.14em}.step strong{display:block;margin-top:10px}.team-card{display:grid;grid-template-columns:130px 1fr;gap:22px;align-items:start}.team-card img{width:130px;height:150px;object-fit:cover;border:1px solid var(--gold);image-rendering:auto}.contact-lines{display:grid;gap:7px;color:var(--muted)}.quote{font-family:Georgia,serif;font-size:clamp(2rem,4vw,4.6rem);line-height:1.1;max-width:1000px}.quote em{color:var(--gold)}.footer{border-top:1px solid var(--line);padding:42px 0;color:var(--muted)}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:center}.logo-intro{position:fixed;inset:0;background:#000;z-index:100;display:grid;place-items:center;transition:opacity .8s,visibility .8s}.logo-intro.hide{opacity:0;visibility:hidden}.logo-intro img{width:min(440px,70vw);filter:drop-shadow(0 0 18px rgba(216,169,58,.5));animation:reveal 2.2s ease both}@keyframes reveal{0%{opacity:0;transform:scale(.82);filter:blur(14px)}50%{opacity:1;filter:blur(0) drop-shadow(0 0 35px rgba(79,199,255,.7))}100%{transform:scale(1);filter:drop-shadow(0 0 18px rgba(216,169,58,.55))}}.page-hero{padding:110px 0 65px;background:radial-gradient(circle at 70% 20%,rgba(216,169,58,.12),transparent 35%),#060606;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.8rem,6vw,6rem);margin:0}.note{border-left:3px solid var(--gold);padding:18px 22px;background:#111;color:#d7d2c9}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{width:100%;height:280px;object-fit:cover;border:1px solid var(--line)}.archive{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px;border:1px solid var(--line);background:#0d0d0e}.tag{display:inline-block;border:1px solid var(--line);padding:5px 9px;color:var(--gold);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
@media(max-width:900px){.menu{display:none}.g3,.g2,.gallery{grid-template-columns:1fr}.process{grid-template-columns:repeat(2,1fr)}.team-card{grid-template-columns:100px 1fr}.team-card img{width:100px;height:120px}.hero{min-height:72vh}.footer-grid{display:block}.footer-grid>*{margin-bottom:16px}}
@media(max-width:560px){.wrap{width:min(100% - 24px,var(--max))}.section{padding:65px 0}.process{grid-template-columns:1fr}.hero h1{font-size:3.3rem}.brand span{display:none}.nav{height:70px}.team-card{grid-template-columns:1fr}.team-card img{width:120px;height:140px}}

/* Solutions Supermarchés */
.supermarket-hero{position:relative;overflow:hidden}
.supermarket-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 35%,rgba(255,190,76,.14),transparent 34%),linear-gradient(115deg,rgba(255,255,255,.04),transparent 42%);pointer-events:none}
.feature-image{margin:0;border:1px solid rgba(255,202,92,.28);background:rgba(255,255,255,.025);box-shadow:0 20px 70px rgba(0,0,0,.38);overflow:hidden}
.feature-image img{display:block;width:100%;height:auto;aspect-ratio:12/7;object-fit:cover}
.feature-image figcaption{padding:12px 15px;color:var(--muted);font-size:.88rem}
@media(max-width:760px){.menu a[href="solutions-supermarches.html"]{font-size:.8rem}.feature-image{margin-top:12px}}


/* V7 — nocturnal, stellar and multilingual experience */
html{background:#020307}
body{background:radial-gradient(ellipse at 50% -10%,#0c1320 0,#040508 35%,#020204 75%);min-height:100vh}
#starfield{position:fixed;inset:0;z-index:-3;pointer-events:none;opacity:.72}
.pointer-light{position:fixed;inset:0;z-index:-1;pointer-events:none;background:
 radial-gradient(550px circle at var(--mx,50vw) var(--my,35vh),rgba(84,173,255,.09),transparent 58%),
 conic-gradient(from 218deg at var(--mx,50vw) var(--my,35vh),transparent 0 44%,rgba(255,199,84,.05) 47%,transparent 50% 100%);mix-blend-mode:screen;transition:opacity .3s}
body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(115deg,transparent 22%,rgba(68,150,255,.025) 38%,transparent 49%),linear-gradient(65deg,transparent 55%,rgba(255,190,70,.025) 66%,transparent 76%)}
.top{background:rgba(2,3,6,.82);box-shadow:0 12px 45px rgba(0,0,0,.35)}
.nav{gap:14px}.menu{gap:18px}.language-switcher{margin-left:auto;position:relative}.language-switcher select{appearance:none;background:rgba(10,11,14,.9);color:var(--text);border:1px solid var(--line);border-radius:2px;padding:9px 28px 9px 10px;font:600 .72rem/1 Inter,Arial,sans-serif;letter-spacing:.08em;cursor:pointer;outline:none}.language-switcher:after{content:"⌄";position:absolute;right:9px;top:5px;color:var(--gold);pointer-events:none}.language-switcher select:focus{border-color:var(--gold);box-shadow:0 0 20px rgba(216,169,58,.18)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.section{background:linear-gradient(180deg,rgba(4,5,8,.42),rgba(2,2,4,.18));border-top:1px solid rgba(255,255,255,.025)}.section.alt{background:linear-gradient(180deg,rgba(14,15,19,.78),rgba(6,7,10,.86))}.page-hero{background:radial-gradient(circle at 72% 24%,rgba(216,169,58,.14),transparent 28%),radial-gradient(circle at 20% 55%,rgba(79,199,255,.08),transparent 35%),rgba(3,4,7,.78)}
.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.36)),url('images/azalai-hero.jpg');box-shadow:inset 0 -100px 120px rgba(2,3,6,.8)}
.hero:before{height:1px;box-shadow:0 0 14px var(--cyan),0 0 45px rgba(79,199,255,.6),0 0 90px rgba(216,169,58,.35)}
.hero:after{height:1px;box-shadow:0 0 20px var(--gold),0 0 70px rgba(216,169,58,.45)}
.card,.project,.archive,.feature-image,.step{backdrop-filter:blur(5px)}
.project{transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s,filter .55s;filter:brightness(.68) saturate(.82)}.project:hover{transform:translateY(-7px) scale(1.012);filter:brightness(1.08) saturate(1.04);box-shadow:0 26px 75px rgba(0,0,0,.6),0 0 45px rgba(216,169,58,.12)}
.gallery img{filter:brightness(.66) saturate(.82);transition:filter .9s,transform .9s,box-shadow .9s}.gallery img.is-visible{filter:brightness(1) saturate(1)}.gallery img:hover{transform:scale(1.018);box-shadow:0 20px 60px rgba(0,0,0,.55),0 0 25px rgba(79,199,255,.09)}
.reveal{opacity:0;transform:translateY(30px);filter:brightness(.55);transition:opacity .95s cubic-bezier(.2,.8,.2,1) var(--delay,0ms),transform .95s cubic-bezier(.2,.8,.2,1) var(--delay,0ms),filter 1.15s ease var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none;filter:brightness(1)}
.logo-intro{background:radial-gradient(circle at 50% 50%,#101622 0,#030407 45%,#000 78%)}.logo-intro:before,.logo-intro:after{content:"";position:absolute;width:80vw;height:1px;left:10vw;top:50%;background:linear-gradient(90deg,transparent,var(--cyan),var(--gold),transparent);box-shadow:0 0 18px var(--cyan),0 0 55px var(--gold);animation:introBeam 2.2s ease both}.logo-intro:after{transform:rotate(-11deg);opacity:.5;animation-delay:.18s}@keyframes introBeam{0%{transform:translateX(-70%) scaleX(.1);opacity:0}45%{opacity:1}100%{transform:translateX(70%) scaleX(.28);opacity:0}}
.logo-intro img{position:relative;z-index:2;animation:reveal 2.25s ease both}
@media(max-width:1120px){.menu{gap:12px;font-size:.74rem}.brand span{display:none}}
@media(max-width:900px){.nav{justify-content:space-between}.language-switcher{margin-left:auto}.menu{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.pointer-light{display:none}.reveal{opacity:1;transform:none;filter:none}}
