/* Bipolarist — compact, cross-browser */
/* ---------- Theme vars ---------- */
:root{
  --bg:#0b0f19; --panel:#0f172a; --ink:#e5e7eb; --muted:#a3a7af; --ring:#1f2937;
  --a1:#ff7a59; --a2:#f97316; --a3:#8b5cf6; --a4:#22d3ee;
  --grad: conic-gradient(from 200deg,var(--a3),var(--a4),var(--a2),var(--a1),var(--a3));
  --btn: linear-gradient(92deg,var(--a3),var(--a4));
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{height:100%}
body{
  min-height:100%;display:flex;flex-direction:column;
  margin:0;color:var(--ink);background:var(--bg);
  font:1.1em/1.6 Nunito,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- Nav ---------- */
.nav{
  position:sticky;top:0;z-index:50;border-bottom:1px solid var(--ring);
  background:rgba(17,24,39,.82);
  backdrop-filter:saturate(140%) blur(8px);
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .nav{background:rgba(17,24,39,.94)}
}
.nav-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:34px;height:34px;border-radius:10px;
  background:url('assets/img/bipolarist-logo-short.png') center/contain no-repeat;
  box-shadow:none;
}
.links{display:flex;gap:18px;align-items:center}
.btn{padding:.65rem 1rem;border-radius:999px;border:1px solid var(--ring);background:transparent;color:var(--ink);font-weight:700;display:inline-block}
.btn-primary{border:0;background:var(--btn);color:#0b0f19;box-shadow:0 10px 24px rgba(34,211,238,.25)}
.btn-ghost{border:1px solid var(--ring);background:rgba(255,255,255,.02)}
.hamburger{display:none;background:transparent;border:0;cursor:pointer}
.hamburger span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}
@media (max-width:900px){
  .hamburger{display:block}
  .links{display:none}
  .nav.open .links{
  display:flex;position:fixed;inset:72px 12px auto 12px;flex-direction:column;gap:12px;padding:12px;
  background:rgba(17,24,39,.97);border:1px solid var(--ring);border-radius:14px
  }
  .nav.open .links a{padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03)}
}

/* ---------- Hero ---------- */
.hero{padding:72px 0 32px}
.hero-wrap{display:grid;grid-template-columns:1.2fr .9fr;gap:28px;align-items:center}
.headline{margin:0;font-size:clamp(2.4rem,5.4vw,4.1rem);line-height:1.05;letter-spacing:-.02em;font-weight:900;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.lede{color:var(--muted);font-size:clamp(1rem,1.5vw,1.2rem);max-width:68ch}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.kpis .k{background:rgba(255,255,255,.05);border:1px solid var(--ring);border-radius:12px;padding:10px 12px;text-align:center}
.k .n{font-weight:900;font-size:1.3rem}
@media (max-width:980px){
  .hero-wrap{grid-template-columns:1fr;gap:16px}
  .hero{padding:42px 0 16px}
  .hero-ctas{flex-direction:column}
  .btn,.btn-primary{width:100%;text-align:center}
  .kpis{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){ .kpis{grid-template-columns:1fr 1fr} }

/* ---------- Section glows (ALTERNATING COLOR AND POSITION) ---------- */
.section{
  position:relative;
  padding:80px 0;
  isolation:isolate;
}

.section > *{
  position:relative;
  z-index:2;
}

.section::before{
  content:""; 
  position:absolute; 
  top:-400px; 
  right:-400px; 
  bottom:-400px; 
  left:-400px;
  z-index:1;
  pointer-events:none; 
  background-repeat:no-repeat;
}

/* Section 1, 5, 9... - Teal LEFT */
.section:nth-child(4n+1)::before{
  background-image:
  radial-gradient(ellipse 1400px 1000px at -300px 50%, 
    rgba(45,212,191,.25) 0%, 
    rgba(45,212,191,.12) 40%, 
    rgba(45,212,191,0) 70%);
}

/* Section 2, 6, 10... - Purple RIGHT */
.section:nth-child(4n+2)::before{
  background-image:
  radial-gradient(ellipse 1400px 1000px at calc(100% + 300px) 50%, 
    rgba(139,92,246,.25) 0%, 
    rgba(139,92,246,.12) 40%, 
    rgba(139,92,246,0) 70%);
}

/* Section 3, 7, 11... - Purple LEFT */
.section:nth-child(4n+3)::before{
  background-image:
  radial-gradient(ellipse 1400px 1000px at -300px 50%, 
    rgba(139,92,246,.25) 0%, 
    rgba(139,92,246,.12) 40%, 
    rgba(139,92,246,0) 70%);
}

/* Section 4, 8, 12... - Teal RIGHT */
.section:nth-child(4n)::before{
  background-image:
  radial-gradient(ellipse 1400px 1000px at calc(100% + 300px) 50%, 
    rgba(45,212,191,.25) 0%, 
    rgba(45,212,191,.12) 40%, 
    rgba(45,212,191,0) 70%);
}

@media (max-width:640px){
  .section{padding:60px 0}
  .section::before{top:-300px;right:-300px;bottom:-300px;left:-300px}
  
  .section:nth-child(4n+1)::before{
  background-image:
    radial-gradient(ellipse 1000px 800px at -200px 50%, 
    rgba(45,212,191,.22) 0%, 
    rgba(45,212,191,.10) 40%, 
    rgba(45,212,191,0) 70%);
  }
  
  .section:nth-child(4n+2)::before{
  background-image:
    radial-gradient(ellipse 1000px 800px at calc(100% + 200px) 50%, 
    rgba(139,92,246,.22) 0%, 
    rgba(139,92,246,.10) 40%, 
    rgba(139,92,246,0) 70%);
  }
  
  .section:nth-child(4n+3)::before{
  background-image:
    radial-gradient(ellipse 1000px 800px at -200px 50%, 
    rgba(139,92,246,.22) 0%, 
    rgba(139,92,246,.10) 40%, 
    rgba(139,92,246,0) 70%);
  }
  
  .section:nth-child(4n)::before{
  background-image:
    radial-gradient(ellipse 1000px 800px at calc(100% + 200px) 50%, 
    rgba(45,212,191,.22) 0%, 
    rgba(45,212,191,.10) 40%, 
    rgba(45,212,191,0) 70%);
  }
}

/* ---------- Section headings ---------- */
.section .head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.section h2{margin:0;font-size:clamp(1.6rem,2.8vw,2.2rem);font-family:Inter,ui-sans-serif,system-ui,sans-serif}

/* ---------- Cards/Grid ---------- */
.grid-3{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}
@media (max-width:980px){ .grid-3{grid-template-columns:1fr} .col-4,.col-6,.col-8,.col-12{grid-column:auto} }
.card{background:var(--panel);border:1px solid var(--ring);border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.4);overflow:hidden;position:relative;z-index:2}
.card .accent{height:4px;background:linear-gradient(90deg,var(--a3),var(--a4),var(--a2),var(--a1))}
.card .body{padding:18px;display:flex;flex-direction:column;flex:1}
.card .body .btn-link{margin-top:auto}
.card{display:flex;flex-direction:column}
.card h3{margin:6px 0 4px;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.card p{margin:0;color:var(--muted)}
.ribbon{display:inline-block;align-self:flex-start;font-size:.8rem;background:linear-gradient(90deg,rgba(139,92,246,.25),rgba(34,211,238,.25));color:#fff;border:1px solid var(--ring);padding:.2rem .5rem;border-radius:999px;margin:8px 0}
.hscroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:14px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.hscroll .card{scroll-snap-align:start}

/* ---------- Panel ---------- */
.panel{background:rgba(255,255,255,.03);border:1px solid var(--ring);border-radius:14px;padding:20px;position:relative;z-index:2}

/* ---------- Timeline ---------- */
.timeline{position:relative;padding-left:84px}
.timeline::before{
  content:""; position:absolute; left:34px; top:0; bottom:0; width:10px; border-radius:10px;
  background:linear-gradient(180deg,var(--a3),var(--a2));
  box-shadow:0 0 0 2px rgba(0,0,0,.25) inset,0 0 28px rgba(139,92,246,.28)
}
.step{position:relative;margin:28px 0}
.step::before{
  content:""; 
  position:absolute; 
  left:-52.5px; 
  top:.45rem; 
  width:15px; 
  height:15px; 
  border-radius:50%;
  background:var(--a4); 
  box-shadow:0 0 0 8px rgba(34,211,238,.18);
}
.step b{display:block;margin:0 0 4px 0}
.step .muted{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:48ch}

/* ---------- Signup Section (FULL-WIDTH) ---------- */
.signup-section{
  padding:100px 0;
}
.signup-wrapper{
  background:rgba(255,255,255,.03);
  border:1px solid var(--ring);
  border-radius:20px;
  padding:48px;
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:48px;
  align-items:center;
}
.signup-form{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.signup-input{
  flex:1;
  min-width:280px;
  border-radius:14px;
  border:1px solid var(--ring);
  background:rgba(0,0,0,.3);
  color:var(--ink);
  padding:1rem 1.2rem;
  font-size:1rem;
  font-family:inherit;
}
.signup-input:focus{
  outline:none;
  border-color:var(--a4);
}
.signup-btn{
  padding:1rem 2rem;
  font-size:1rem;
  white-space:nowrap;
}
.signup-cta{
  padding-left:48px;
  border-left:2px solid var(--ring);
}
@media (max-width:980px){
  .signup-wrapper{
  grid-template-columns:1fr;
  gap:32px;
  padding:32px;
  }
  .signup-cta{
  padding-left:0;
  border-left:0;
  border-top:2px solid var(--ring);
  padding-top:32px;
  }
  .signup-form{
  flex-direction:column;
  }
  .signup-input{
  min-width:100%;
  }
}

/* ---------- Footer ---------- */
.footer{
  margin-top:auto;
  border-top:1px solid var(--ring);
  background:rgba(255,255,255,.02);
  padding:60px 0 0;
}
.footer-main{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:48px;
  padding-bottom:48px;
  border-bottom:1px solid var(--ring);
}
.footer-col h4{
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:.85rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin:0 0 16px;
  color:var(--ink);
}
.footer-col p{
  font-size:.95rem;
  line-height:1.6;
  margin:0;
}
.footer-nav{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-nav a{
  font-size:.95rem;
  color:var(--muted);
  transition:color .2s;
}
.footer-nav a:hover{
  color:var(--ink);
  text-decoration:none;
}
.email-link{
  color:var(--a4);
  font-weight:600;
}
.email-link:hover{
  color:var(--ink);
}
.footer-link{
  color:var(--a4);
  font-weight:600;
}
.footer-link:hover{
  color:var(--ink);
}
.social-links{
  display:flex;
  gap:12px;
}
.social-icon{
  width:36px;
  height:36px;
  border-radius:8px;
  border:1px solid var(--ring);
  background:rgba(255,255,255,.03);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.85rem;
  font-weight:700;
  color:var(--muted);
  transition:all .2s;
}
.social-icon:hover{
  background:var(--a4);
  color:#0b0f19;
  border-color:var(--a4);
  text-decoration:none;
  transform:translateY(-2px);
}
.footer-bottom{
  padding:24px 0;
  text-align:center;
}
.footer-bottom p{
  font-size:.85rem;
  margin:0;
  line-height:1.6;
}
@media (max-width:900px){
  .footer-main{
  grid-template-columns:1fr;
  gap:32px;
  }
}

/* ---------- Logo ---------- */
.logo-hero{
  display:grid;
  place-items:center;
  min-height:clamp(420px,50vh,600px);
  padding:60px 20px;
}
.logo-shell{
  position:relative;
  width:clamp(220px,36vw,480px);
  aspect-ratio:1/1;
  will-change:transform,opacity;
}
.logo-shell::after{content:none!important}
.brand-logo{
  display:block;
  width:100%;
  height:100%;
}
.brand-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter: drop-shadow(0 0 12px rgba(34,211,238,.25)) drop-shadow(0 0 24px rgba(139,92,246,.15)) brightness(1);
  transition:filter .8s ease, transform .8s cubic-bezier(.22,1,.36,1);
  transform:scale(1);
  will-change:filter,transform;
}
.logo-shell:hover .brand-logo img{
  filter: drop-shadow(0 0 24px rgba(34,211,238,.6)) drop-shadow(0 0 48px rgba(139,92,246,.35)) brightness(1.3);
  transform:scale(1.02);
  transition:filter .4s ease, transform .4s cubic-bezier(.22,1,.36,1);
}

/* ---------- Marquee ---------- */
:root{ --marquee-gap:24px; --marquee-speed:26s }
.strip{margin:10px 0 0;border-top:1px dashed var(--ring);border-bottom:1px dashed var(--ring);
     background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01))}
.marquee{position:relative;display:flex;overflow:hidden;gap:var(--marquee-gap);
  -webkit-mask:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
      mask:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);}
.marquee .track{flex:0 0 auto;display:inline-flex;gap:var(--marquee-gap);align-items:center;white-space:nowrap;
  animation:marquee var(--marquee-speed) linear infinite}
.marquee:hover .track{animation-play-state:paused}
.marquee span{display:inline-flex;align-items:center;gap:8px;color:var(--muted);padding:12px 0}
.marquee .dot{width:6px;height:6px;border-radius:50%;background:var(--a4);box-shadow:0 0 0 2px rgba(34,211,238,.2)}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none}}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(8px);transition:.6s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- Podcast Grid ---------- */
.podcast-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}
.podcast-card{
  display:flex;
  flex-direction:column;
}
.podcast-thumb{
  width:100%;
  aspect-ratio:1/1;
  background-size:cover;
  background-position:center;
  background-color:var(--panel);
  border-radius:16px 16px 0 0;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
}
.podcast-card .accent{
  border-radius:0;
}
.podcast-card .body{
  flex:1;
  display:flex;
  flex-direction:column;
}
.podcast-card .body p{
  flex:1;
}
@media (max-width:768px){
  .podcast-grid{
  grid-template-columns:1fr;
  }
}

/* ---------- Utilities ---------- */
.muted{color:var(--muted)}
.btn-link{color:var(--a4);font-weight:600}
.btn-link:hover{text-decoration:underline}
.badge{display:inline-block;font-size:.85rem;font-weight:700;color:var(--a4);border:1px solid var(--ring);
