/* =====================================================
   AXEN ÉVIDENCE — Main Stylesheet
   ===================================================== */

/* ── Tokens ── */
:root {
  --gold:      #C9A84C;
  --gold-l:    #E2C47A;
  --gold-d:    #9A7A30;
  --gold-glow: rgba(201,168,76,0.14);
  --gold-line: rgba(201,168,76,0.25);
  --black:     #07070A;
  --dark:      #0E0E12;
  --card:      #13131A;
  --card2:     #18181F;
  --border:    #22222C;
  --text:      #F0F0F5;
  --muted:     #7A7A8C;
  --muted2:    #4A4A5A;
  --easing:    cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── Reset ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  background:var(--black); color:var(--text);
  font-family:'Barlow',sans-serif;
  overflow-x:hidden; cursor:none;
}
a { text-decoration:none; color:inherit; }
img { display:block; max-width:100%; }
ul { list-style:none; }

/* ── Custom Cursor ── */
.cursor      { position:fixed; top:0; left:0; pointer-events:none; z-index:9999; mix-blend-mode:difference; }
.cursor-dot  { width:8px; height:8px; background:var(--gold); border-radius:50%; transform:translate(-50%,-50%); }
.cursor-ring {
  position:fixed; top:0; left:0; pointer-events:none; z-index:9998;
  width:40px; height:40px; border:1px solid rgba(201,168,76,0.5);
  border-radius:50%; transform:translate(-50%,-50%);
  transition:width .3s, height .3s, opacity .3s;
}

/* ── Navigation ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 60px; height:76px;
  background:rgba(7,7,10,.85); backdrop-filter:blur(24px) saturate(1.4);
  border-bottom:1px solid rgba(34,34,44,.6);
  transition:all .4s;
}
nav.scrolled { height:60px; background:rgba(7,7,10,.97); border-bottom-color:var(--border); }
.nav-logo { display:flex; align-items:center; gap:14px; }
.nav-logo img { height:44px; width:auto; object-fit:contain; transition:height .3s; }
nav.scrolled .nav-logo img { height:36px; }
.nav-links { display:flex; align-items:center; gap:8px; }
.nav-link {
  font-family:'Barlow Condensed'; font-size:13px; font-weight:600;
  letter-spacing:2.5px; text-transform:uppercase; color:var(--muted);
  padding:8px 16px; border-radius:6px; border:1px solid transparent;
  transition:all .25s;
}
.nav-link:hover, .nav-link.active { color:var(--gold); border-color:var(--gold-line); background:var(--gold-glow); }
.nav-cta {
  font-family:'Barlow Condensed'; font-size:13px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  padding:10px 24px; border-radius:6px;
  background:var(--gold); color:var(--black);
  border:1px solid var(--gold); margin-left:12px; transition:all .25s;
}
.nav-cta:hover { background:var(--gold-l); transform:translateY(-1px); box-shadow:0 8px 24px rgba(201,168,76,.3); }
.nav-hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; }
.nav-hamburger span { width:24px; height:2px; background:var(--text); transition:all .3s; display:block; }

/* ── Buttons ── */
.btn-primary {
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Barlow Condensed'; font-size:14px; font-weight:700;
  letter-spacing:2.5px; text-transform:uppercase;
  padding:16px 36px; background:var(--gold); color:var(--black);
  border-radius:4px; border:2px solid var(--gold); transition:all .3s var(--easing);
}
.btn-primary:hover { background:transparent; color:var(--gold); transform:translateY(-2px); box-shadow:0 12px 40px rgba(201,168,76,.25); }
.btn-secondary {
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Barlow Condensed'; font-size:14px; font-weight:600;
  letter-spacing:2.5px; text-transform:uppercase;
  padding:16px 36px; background:transparent; color:var(--text);
  border-radius:4px; border:1px solid var(--border); transition:all .3s;
}
.btn-secondary:hover { border-color:var(--gold-line); color:var(--gold); }
.btn-ghost {
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Barlow Condensed'; font-size:13px; font-weight:600;
  letter-spacing:2px; text-transform:uppercase; color:var(--gold);
  border:none; background:none; cursor:pointer; padding:0; transition:gap .3s;
}
.btn-ghost:hover { gap:14px; }

/* ── Section Helpers ── */
.section { padding:100px 60px; max-width:1280px; margin:0 auto; }
.sec-label {
  font-family:'Barlow Condensed'; font-size:11px; font-weight:600;
  letter-spacing:5px; text-transform:uppercase; color:var(--gold);
  display:flex; align-items:center; gap:12px; margin-bottom:12px;
}
.sec-label::before { content:''; width:28px; height:1px; background:var(--gold); }
.sec-title {
  font-family:'Barlow Condensed'; font-weight:800;
  font-size:clamp(36px,5vw,56px); text-transform:uppercase;
  line-height:.95; margin-bottom:16px; letter-spacing:-.5px;
}
.sec-title em { font-style:normal; color:var(--gold); }
.sec-body { font-size:16px; color:var(--muted); line-height:1.75; max-width:560px; }

/* ── Dividers ── */
.gold-divider {
  width:100%; height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-d),var(--gold),var(--gold-d),transparent);
  opacity:.4;
}

/* ── Reveal Animation ── */
.reveal {
  opacity:0; transform:translateY(24px);
  transition:opacity .8s var(--easing), transform .8s var(--easing);
}
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── Marquee ── */
.marquee-section {
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  background:var(--dark); overflow:hidden; padding:20px 0;
}
.marquee-track {
  display:flex; gap:0; white-space:nowrap;
  animation:marquee 22s linear infinite;
}
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.marquee-item {
  display:inline-flex; align-items:center; gap:20px;
  font-family:'Barlow Condensed'; font-size:14px; font-weight:600;
  letter-spacing:3px; text-transform:uppercase; color:var(--muted2);
  padding:0 40px;
}
.marquee-dot { width:4px; height:4px; background:var(--gold); border-radius:50%; }

/* ── Page Header (inner pages) ── */
.page-header {
  padding:160px 60px 80px;
  background:linear-gradient(160deg,#0D0D12 0%,var(--black) 70%);
  border-bottom:1px solid var(--border);
  position:relative; overflow:hidden;
}
.page-header::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(rgba(201,168,76,.03) 1px,transparent 1px),
             linear-gradient(90deg,rgba(201,168,76,.03) 1px,transparent 1px);
  background-size:60px 60px;
}
.page-header::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 50% 60% at 80% 50%,rgba(201,168,76,.07) 0%,transparent 65%);
}
.page-header-inner { position:relative; z-index:2; max-width:1280px; margin:0 auto; }
.page-header h1 {
  font-family:'Barlow Condensed'; font-weight:800;
  font-size:clamp(48px,7vw,80px); text-transform:uppercase;
  line-height:.92; letter-spacing:-1px;
}
.page-header p { font-size:17px; color:var(--muted); line-height:1.7; max-width:600px; margin-top:16px; }

/* ── Footer ── */
footer { background:var(--black); padding:60px; border-top:1px solid var(--border); }
.footer-inner {
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:60px;
  margin-bottom:48px;
}
.footer-brand img { height:60px; margin-bottom:16px; }
.footer-tagline { font-size:13px; color:var(--muted); line-height:1.7; margin-bottom:20px; }
.footer-slogan { font-family:'Cormorant Garamond'; font-style:italic; font-size:15px; color:var(--gold-d); }
.footer-col h4 {
  font-family:'Barlow Condensed'; font-size:12px; font-weight:700;
  letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-bottom:20px;
}
.footer-col a { display:block; font-size:13px; color:var(--muted2); margin-bottom:10px; transition:color .25s; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom {
  max-width:1280px; margin:0 auto; padding-top:28px;
  border-top:1px solid var(--border);
  display:flex; justify-content:space-between; align-items:center;
}
.footer-bottom p { font-size:12px; color:var(--muted2); }
.footer-badge {
  font-family:'Barlow Condensed'; font-size:11px; font-weight:600;
  letter-spacing:3px; text-transform:uppercase; color:var(--gold-d);
  border:1px solid rgba(201,168,76,.15); padding:6px 16px; border-radius:20px;
}

/* ── Scroll Top ── */
.scroll-top {
  position:fixed; bottom:32px; right:32px; z-index:50;
  width:44px; height:44px; background:var(--card);
  border:1px solid var(--border); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:16px; color:var(--gold); cursor:pointer;
  opacity:0; pointer-events:none; transition:all .3s;
  box-shadow:0 4px 20px rgba(0,0,0,.4);
}
.scroll-top.show { opacity:1; pointer-events:auto; }
.scroll-top:hover { background:var(--gold); color:var(--black); }

/* ── Animations ── */
@keyframes fadeUp   { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }
@keyframes pulse    { 0%,100%{opacity:.6;transform:translate(-50%,-50%) scale(1)} 50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)} }
@keyframes gridDrift{ 0%{transform:translate(0,0)} 100%{transform:translate(60px,60px)} }
@keyframes logoFloat{ 0%,100%{transform:translateY(0) rotate(0deg)} 50%{transform:translateY(-16px) rotate(.5deg)} }
@keyframes floatUp  { 0%{opacity:0;transform:translateY(0) scale(0)} 20%{opacity:.6} 80%{opacity:.3} 100%{opacity:0;transform:translateY(-120px) scale(1.5)} }

/* ── Responsive ── */
@media(max-width:900px){
  nav { padding:0 24px; }
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  .nav-links.open {
    display:flex; flex-direction:column; position:fixed;
    top:60px; left:0; right:0; background:rgba(7,7,10,.98);
    padding:24px; border-bottom:1px solid var(--border); gap:4px;
  }
  .section { padding:60px 24px; }
  .page-header { padding:120px 24px 60px; }
  footer { padding:40px 24px; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:36px; }
}
@media(max-width:600px){
  .footer-inner { grid-template-columns:1fr; }
}
