/* ==========================================================================
   ALCONSULTIC — identite visuelle partagee (pages, articles, archives, 404)
   La page d'accueil (front-page.php) a son propre rendu autonome.
   ========================================================================== */
:root{
  --alc-bg:#0A0820; --alc-bg2:#150F42; --alc-ink:#EAE6F7; --alc-muted:#BDB4DE;
  --alc-dim:#7E74A8; --alc-cyan:#00D4FF; --alc-violet:#B57BFF; --alc-gold:#E7C98C;
  --alc-line:rgba(181,123,255,0.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:
    radial-gradient(1100px 700px at 20% -5%, rgba(91,44,141,0.30), transparent 60%),
    radial-gradient(900px 650px at 90% 10%, rgba(0,212,255,0.07), transparent 60%),
    linear-gradient(180deg,var(--alc-bg),#0C0A28 60%,var(--alc-bg));
  color:var(--alc-ink); font-family:'Sora',system-ui,-apple-system,sans-serif;
  min-height:100vh; overflow-x:hidden;
}
a{color:var(--alc-cyan);text-decoration:none;transition:color .25s}
a:hover{color:var(--alc-violet)}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.1;text-wrap:balance}

/* Ambient background layers */
.alc-stars{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(1.4px 1.4px at 12% 22%, rgba(207,196,240,0.9), transparent),
    radial-gradient(1.2px 1.2px at 32% 68%, rgba(127,232,255,0.8), transparent),
    radial-gradient(1.5px 1.5px at 58% 18%, rgba(207,196,240,0.7), transparent),
    radial-gradient(1.1px 1.1px at 74% 52%, rgba(207,196,240,0.8), transparent),
    radial-gradient(1.3px 1.3px at 88% 78%, rgba(127,232,255,0.7), transparent),
    radial-gradient(1.2px 1.2px at 46% 88%, rgba(207,196,240,0.7), transparent);
  animation:alcTwinkle 6s ease-in-out infinite}
@keyframes alcTwinkle{0%,100%{opacity:.55}50%{opacity:1}}
.alc-grain{position:fixed;inset:-10%;z-index:0;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Nav */
.alc-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:16px min(6vw,64px);
  background:rgba(10,8,32,0.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--alc-line)}
.alc-brand{display:flex;align-items:center;gap:10px}
.alc-brand-logo{height:34px;width:auto;display:block;filter:drop-shadow(0 0 14px rgba(0,212,255,0.35))}
.alc-menu{display:flex;flex-wrap:wrap;gap:clamp(14px,3vw,34px);align-items:center;list-style:none;margin:0;padding:0}
.alc-menu li{list-style:none}
.alc-menu a{font-family:'DM Mono',ui-monospace,monospace;font-size:12.5px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--alc-muted);position:relative;padding:4px 0}
.alc-menu a:hover{color:var(--alc-cyan)}
.alc-menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;
  background:linear-gradient(90deg,var(--alc-cyan),var(--alc-violet));transition:right .3s}
.alc-menu a:hover::after{right:0}
.alc-menu .current-menu-item a{color:#fff}

/* Main + page shell */
.alc-main{position:relative;z-index:1;min-height:60vh}
.alc-page{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:clamp(48px,9vh,110px) min(6vw,40px)}
.alc-page-head{margin-bottom:40px}
.alc-eyebrow{font-family:'DM Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.26em;
  text-transform:uppercase;color:var(--alc-cyan);margin-bottom:14px}
.alc-eyebrow::before{content:"";display:inline-block;width:24px;height:1px;vertical-align:middle;
  margin-right:12px;background:linear-gradient(90deg,var(--alc-cyan),transparent)}
.alc-page-title{margin:0;font-size:clamp(32px,5vw,60px);letter-spacing:-0.01em;color:#fff;
  background:linear-gradient(92deg,#fff,#CFC4F0);-webkit-background-clip:text;background-clip:text}

/* Content typography */
.alc-content{font-weight:300;font-size:clamp(15px,1.5vw,17px);line-height:1.8;color:var(--alc-muted)}
.alc-content :is(h2,h3,h4){color:#fff;margin:1.8em 0 .6em;line-height:1.2}
.alc-content h2{font-size:clamp(24px,3vw,34px)}
.alc-content h3{font-size:clamp(20px,2.4vw,26px)}
.alc-content p{margin:0 0 1.2em;text-wrap:pretty}
.alc-content a{color:var(--alc-cyan);text-decoration:underline;text-underline-offset:3px}
.alc-content a:hover{color:var(--alc-violet)}
.alc-content img{max-width:100%;height:auto;border-radius:14px}
.alc-content blockquote{margin:1.5em 0;padding:14px 22px;border-left:2px solid var(--alc-gold);
  background:rgba(231,201,140,0.06);font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:1.25em;color:var(--alc-ink)}
.alc-content ul,.alc-content ol{padding-left:1.3em}
.alc-content li{margin:.4em 0}
.alc-content code{font-family:'DM Mono',ui-monospace,monospace;background:rgba(0,212,255,0.08);
  padding:2px 6px;border-radius:5px;color:var(--alc-cyan);font-size:.9em}
.alc-content :is(.wp-block-button__link,.alc-btn),.alc-btn{display:inline-block;
  font-family:'DM Mono',ui-monospace,monospace;font-size:13px;letter-spacing:0.12em;text-transform:uppercase;
  color:#0A0820 !important;text-decoration:none;background:linear-gradient(90deg,var(--alc-cyan),#7B3FBE);
  padding:14px 30px;border-radius:999px;font-weight:600;box-shadow:0 0 30px rgba(0,212,255,0.25);
  transition:transform .25s,filter .25s}
.alc-btn:hover,.alc-content .wp-block-button__link:hover{transform:translateY(-2px);filter:brightness(1.12)}

/* Archive / blog list */
.alc-list{display:grid;gap:18px}
.alc-card-link{display:block;padding:26px 28px;border-radius:16px;border:1px solid var(--alc-line);
  background:linear-gradient(160deg,rgba(91,44,141,0.14),rgba(21,15,66,0.5));
  transition:transform .3s,border-color .3s}
.alc-card-link:hover{transform:translateY(-4px);border-color:rgba(0,212,255,0.4)}
.alc-card-link h2{margin:0 0 8px;font-size:24px;color:#fff}
.alc-card-excerpt{font-weight:300;font-size:14.5px;line-height:1.6;color:var(--alc-muted)}
.alc-pagination{margin-top:34px;display:flex;gap:8px;flex-wrap:wrap;font-family:'DM Mono',monospace;font-size:13px}
.alc-pagination .page-numbers{padding:8px 13px;border-radius:9px;border:1px solid var(--alc-line);color:var(--alc-muted)}
.alc-pagination .page-numbers.current{background:rgba(0,212,255,0.12);color:#fff;border-color:rgba(0,212,255,0.4)}

/* Footer */
.alc-footer{position:relative;z-index:1;border-top:1px solid var(--alc-line);
  background:linear-gradient(180deg,transparent,rgba(21,15,66,0.5));margin-top:60px}
.alc-footer-in{max-width:1240px;margin:0 auto;padding:38px min(6vw,64px);
  display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:space-between}
.alc-footer-brand{display:flex;flex-direction:column;gap:14px}
.alc-social{display:flex;gap:10px}
.alc-social a{width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;border:1px solid var(--alc-line);font-family:'DM Mono',monospace;font-size:11px;
  color:var(--alc-muted);text-transform:lowercase}
.alc-social a:hover{border-color:var(--alc-cyan);color:#fff}
.alc-footer-info{display:flex;flex-direction:column;gap:6px;align-items:flex-end;text-align:right}
.alc-footer-mail{font-family:'DM Mono',monospace;font-size:11.5px;letter-spacing:0.06em;color:var(--alc-cyan)}
.alc-footer-legal{display:flex;gap:12px;align-items:center;font-family:'DM Mono',monospace;font-size:11.5px}
.alc-footer-legal a{color:var(--alc-muted)}.alc-footer-legal span{color:#453f68}
.alc-footer-muted{font-family:'DM Mono',monospace;font-size:11.5px;letter-spacing:0.05em;color:var(--alc-dim)}
@media(max-width:640px){.alc-footer-info{align-items:flex-start;text-align:left}}
