*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --brand: #6B48FF;
  --black: #08080f;
  --dark: #0f0f1a;
  --dark2: #161624;
  --white: #ffffff;
  --off-white: #f6f6fb;
  --text: #12121e;
  --mid: #3a3a5a;
  --muted: #7878a0;
  --border: rgba(0,0,0,0.08);
  --border-brand: rgba(107,72,255,0.2);
}
html { scroll-behavior: smooth; }
body { font-family: 'Barlow', sans-serif; background: var(--white); color: var(--text); overflow-x: hidden; }

/* ─── NAV ─── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 5vw; height: 66px;
  background: rgba(8,8,15,0.94); backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(107,72,255,0.18);
}
.nav-logo { display:flex; align-items:center; text-decoration:none; }
.nav-logo img { height: 68px; }
.nav-logo-text { font-family:'Barlow Condensed',sans-serif; font-size:1.6rem; font-weight:900; color:#6B48FF; letter-spacing:.05em; display:none; }
.nav-links { display:flex; gap:2.2rem; list-style:none; }
.nav-links a {
  font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.5);
  text-decoration:none; transition:color .2s; position:relative;
}
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; right:0; height:1px; background:#6B48FF; transform:scaleX(0); transition:transform .25s; }
.nav-links a:hover, .nav-links a.active { color:#fff; }
.nav-links a:hover::after, .nav-links a.active::after { transform:scaleX(1); }

/* ─── BUTTONS ─── */
.btn-primary {
  font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; padding:14px 34px;
  background:#6B48FF; color:#fff; border:none; cursor:pointer;
  text-decoration:none; display:inline-block;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:opacity .2s, transform .2s;
}
.btn-primary:hover { opacity:.85; transform:translateY(-2px); }
.btn-ghost {
  font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; padding:13px 34px;
  background:transparent; color:rgba(255,255,255,.75);
  border:1px solid rgba(255,255,255,.28); cursor:pointer;
  text-decoration:none; display:inline-block;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:border-color .2s, color .2s;
}
.btn-ghost:hover { border-color:#6B48FF; color:#6B48FF; }
.btn-white {
  font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase; padding:16px 40px;
  background:#fff; color:#6B48FF; border:none; cursor:pointer;
  text-decoration:none; display:inline-block; white-space:nowrap;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:opacity .2s;
}
.btn-white:hover { opacity:.9; }
.btn-outline-dark {
  font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; padding:13px 34px;
  background:transparent; color:var(--brand);
  border:1px solid var(--brand); cursor:pointer;
  text-decoration:none; display:inline-block;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:background .2s, color .2s;
}
.btn-outline-dark:hover { background:var(--brand); color:#fff; }

/* ─── SECTION SHARED ─── */
.section-tag {
  font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:800;
  letter-spacing:.22em; text-transform:uppercase; color:#6B48FF; margin-bottom:12px;
}
.section-h2 {
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2.2rem,4.5vw,3.6rem); font-weight:900;
  text-transform:uppercase; line-height:.95; color:var(--text);
}
.section-h2 em { font-style:normal; color:#6B48FF; }
.section-desc { font-size:.97rem; color:var(--muted); line-height:1.75; margin-top:14px; }

/* ─── FADE IN ─── */
.fade-up { opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* ─── FOOTER ─── */
footer { background:var(--dark2); border-top:1px solid rgba(107,72,255,.15); }
.footer-top {
  padding:56px 5vw 44px;
  display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;
}
.footer-brand img { height:30px; margin-bottom:20px; display:block; }
.footer-contact-line { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:20px; }
.footer-contact-line a { font-family:'Barlow Condensed',sans-serif; font-size:14px; font-weight:600; color:rgba(255,255,255,.5); text-decoration:none; transition:color .2s; }
.footer-contact-line a:hover { color:#6B48FF; }
.footer-contact-line span { color:rgba(255,255,255,.15); }
.footer-social { display:flex; gap:12px; }
.social-icon { width:34px; height:34px; border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.4); text-decoration:none; transition:border-color .2s, color .2s; }
.social-icon:hover { border-color:#6B48FF; color:#6B48FF; }
.social-icon svg { width:15px; height:15px; }
.newsletter-label { font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.35); margin-bottom:14px; }
.newsletter-row { display:flex; }
.newsletter-input { flex:1; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-right:none; color:#fff; font-family:'Barlow',sans-serif; font-size:.875rem; padding:11px 16px; outline:none; }
.newsletter-input:focus { border-color:#6B48FF; }
.newsletter-btn { font-family:'Barlow Condensed',sans-serif; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:11px 20px; background:#6B48FF; color:#fff; border:none; cursor:pointer; white-space:nowrap; }
.newsletter-btn:hover { opacity:.85; }
.newsletter-consent { display:flex; align-items:flex-start; gap:10px; font-size:.78rem; color:rgba(255,255,255,.28); line-height:1.5; margin-top:10px; }
.newsletter-consent input { margin-top:2px; flex-shrink:0; accent-color:#6B48FF; }
.newsletter-consent a { color:#6B48FF; }
.footer-nav-grid { padding:36px 5vw 44px; display:grid; grid-template-columns:repeat(2,1fr); gap:40px; border-top:1px solid rgba(255,255,255,.06); max-width:420px; }
.footer-nav-title { font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; color:#fff; margin-bottom:18px; }
.footer-nav-links { display:flex; flex-direction:column; gap:10px; }
.footer-nav-links a { font-size:.875rem; color:rgba(255,255,255,.35); text-decoration:none; transition:color .2s; }
.footer-nav-links a:hover { color:#6B48FF; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding:20px 5vw; text-align:center; font-size:12px; color:rgba(255,255,255,.2); }

/* ─── RESPONSIVE SHARED ─── */
@media (max-width:720px) {
  .nav-links { gap:1.2rem; }
  .footer-top { grid-template-columns:1fr; gap:36px; }
  .footer-nav-grid { grid-template-columns:1fr; max-width:none; }
}

/* ─── SIMPLIFIED FOOTER ─── */
.footer-nav-simple {
  padding:52px 5vw 44px;
  display:flex; align-items:flex-start; justify-content:space-between; gap:48px;
  flex-wrap:wrap; border-top:1px solid rgba(107,72,255,.15);
}
/* Nav cols on the LEFT */
.footer-nav-cols { display:flex; gap:60px; flex-wrap:wrap; }
@media(max-width:720px){
  .footer-nav-simple { flex-direction:column-reverse; gap:36px; }
  .footer-nav-cols { gap:32px; }
  .footer-logo-link { align-self:flex-start; }
}
@media(max-width:480px){
  .footer-nav-cols { flex-direction:column; gap:28px; }
}
