/* ============================================================
   FUNNELXPERTS — GLOBAL STYLESHEET
   ============================================================ */

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font-family:inherit}

/* ── TOKENS ── */
:root{
  --green:    #264F38;
  --green-h:  #1e3f2d;
  --green-s:  rgba(38,79,56,0.08);
  --green-s2: rgba(38,79,56,0.15);
  --grey:     #6B7280;
  --accent:   #0B0D10;
  --border:   #D1D5DB;
  --border-d: rgba(209,213,219,0.5);
  --btn-text: #FAFAF8;
  --bg:       #FAFAF8;
  --bg1:      #F3F4F6;
  --bg2:      #E5E7EB;
  --white:    #FFFFFF;
  --text:     #0B0D10;
  --text-mid: #374151;
  --text-soft:#6B7280;
  --text-ghost:#9CA3AF;
  --f: 'Geist','Inter',system-ui,sans-serif;
  --r: 8px;
  --ease: cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ── BASE ── */
body{
  font-family:var(--f);
  background:var(--bg);
  color:var(--text);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  cursor:none;
}

/* ── CURSOR ── */
#cur{
  position:fixed;width:6px;height:6px;
  background:var(--green);border-radius:50%;
  pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .2s,height .2s,background .2s;
}
#cur.h{width:32px;height:32px;background:transparent;border:1.5px solid var(--green);}

/* ── GEIST FONT via system ── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');
body{font-family:'Inter',system-ui,sans-serif;}

/* ── HEADER ── */
header{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:60px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;
  border-bottom:1px solid transparent;
  transition:border-color .3s,background .3s;
}
header.s{
  border-bottom-color:var(--border);
  background:rgba(250,250,248,0.92);
  backdrop-filter:blur(20px);
}
.logo{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;
}
.logo img{height:32px;width:auto;}
.logo-fallback{
  font-size:15px;font-weight:600;letter-spacing:-0.04em;
  color:var(--text);
}
.logo-fallback span{color:var(--green);}
nav.main{display:flex;align-items:center;gap:2px;}
nav.main a{
  font-size:13px;font-weight:400;color:var(--text-soft);
  text-decoration:none;padding:6px 14px;border-radius:var(--r);
  transition:color .15s,background .15s;
}
nav.main a:hover,nav.main a.active{color:var(--text);background:var(--green-s);}
.h-cta{
  font-size:13px;font-weight:500;letter-spacing:-0.02em;
  color:var(--btn-text);background:var(--green);
  padding:9px 20px;border-radius:var(--r);
  text-decoration:none;border:none;cursor:pointer;
  transition:background .2s,transform .15s;
  display:inline-flex;align-items:center;gap:8px;
}
.h-cta:hover{background:var(--green-h);transform:translateY(-1px);}

/* ── FOOTER ── */
footer{
  background:var(--accent);
  padding:72px 40px 36px;
  color:rgba(255,255,255,0.4);
}
.foot-inner{max-width:1080px;margin:0 auto;}
.foot-top{
  display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;
  gap:48px;padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.foot-logo{
  display:flex;align-items:center;gap:10px;
  margin-bottom:12px;
}
.foot-logo img{height:28px;width:auto;filter:brightness(0) invert(1);opacity:0.8;}
.foot-logo-fallback{
  font-size:15px;font-weight:600;letter-spacing:-0.04em;
  color:rgba(255,255,255,0.8);
}
.foot-logo-fallback span{color:rgba(255,255,255,0.4);}
.foot-desc{
  font-size:13px;font-weight:300;
  color:rgba(255,255,255,0.3);
  line-height:1.75;margin-bottom:24px;
}
.foot-socs{display:flex;gap:16px;}
.foot-soc{
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,0.25);
  text-decoration:none;
  transition:color .2s;
}
.foot-soc:hover{color:rgba(255,255,255,0.7);}
.foot-col-t{
  font-size:11px;font-weight:500;
  letter-spacing:0.08em;text-transform:uppercase;
  color:rgba(255,255,255,0.35);margin-bottom:18px;
}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:9px;}
.foot-links a{
  font-size:13px;font-weight:300;
  color:rgba(255,255,255,0.25);
  text-decoration:none;
  transition:color .2s;
}
.foot-links a:hover{color:rgba(255,255,255,0.65);}
.foot-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:28px;
}
.foot-copy{font-size:11px;font-weight:300;color:rgba(255,255,255,0.15);}
.foot-tag{font-size:12px;font-weight:300;font-style:italic;color:rgba(255,255,255,0.15);}

/* ── MARQUEE ── */
.mq{
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  overflow:hidden;background:var(--bg1);
}
@keyframes mq{to{transform:translateX(-50%);}}
.mq-t{display:flex;width:max-content;animation:mq 38s linear infinite;}
.mq-i{
  display:flex;align-items:center;gap:20px;
  padding:12px 20px;
  font-size:11px;font-weight:400;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--text-ghost);white-space:nowrap;
}
.mq-d{width:3px;height:3px;border-radius:50%;background:var(--green);flex-shrink:0;}

/* ── SHARED SECTION STYLES ── */
.sec-wrap{max-width:1080px;margin:0 auto;padding:96px 40px;}
.sec-border{border-top:1px solid var(--border);}

.eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:500;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--green);margin-bottom:14px;
}
.eyebrow::before{content:'';width:14px;height:1px;background:var(--green);}

.sh{
  font-size:clamp(28px,3.5vw,42px);
  font-weight:600;letter-spacing:-0.04em;line-height:1.05;
  color:var(--text);margin-bottom:14px;
}
.sh .dim{color:var(--text-ghost);font-weight:300;}
.sh .g{color:var(--green);}
.sp{
  font-size:15px;font-weight:300;
  color:var(--text-soft);line-height:1.75;
}

/* ── BUTTONS ── */
.btn-p{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:500;letter-spacing:-0.02em;
  color:var(--btn-text);background:var(--green);
  padding:11px 22px;border-radius:var(--r);
  text-decoration:none;border:none;cursor:pointer;
  transition:background .2s,transform .15s;
}
.btn-p:hover{background:var(--green-h);transform:translateY(-1px);}
.btn-s{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:400;letter-spacing:-0.01em;
  color:var(--text-soft);
  padding:11px 22px;border-radius:var(--r);
  border:1px solid var(--border);
  text-decoration:none;background:transparent;
  transition:color .2s,border-color .2s,background .2s;
}
.btn-s:hover{color:var(--text);border-color:var(--text-mid);background:var(--bg1);}

/* ── CARDS / GRIDS ── */
.grid-border{
  border:1px solid var(--border);
  border-radius:var(--r);
  overflow:hidden;
}

/* ── REVEAL ── */
.r{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.r.in{opacity:1;transform:translateY(0);}

/* ── PAGE HERO ── */
.page-hero{
  padding:140px 40px 80px;
  border-bottom:1px solid var(--border);
  max-width:1080px;margin:0 auto;
}
.page-hero-label{
  font-size:11px;font-weight:500;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--green);margin-bottom:16px;
  display:flex;align-items:center;gap:6px;
}
.page-hero-label::before{content:'';width:14px;height:1px;background:var(--green);}
.page-hero h1{
  font-size:clamp(36px,5vw,64px);
  font-weight:600;letter-spacing:-0.05em;line-height:1;
  color:var(--text);margin-bottom:20px;
}
.page-hero h1 .dim{color:var(--text-ghost);font-weight:300;}
.page-hero h1 .g{color:var(--green);}
.page-hero p{
  font-size:17px;font-weight:300;
  color:var(--text-soft);line-height:1.75;
  max-width:560px;
}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  header{padding:0 20px;}
  nav.main{display:none;}
  .sec-wrap{padding:64px 20px;}
  .page-hero{padding:110px 20px 60px;}
  .foot-top{grid-template-columns:1fr 1fr;gap:32px;}
  footer{padding:48px 20px 28px;}
}
@media(max-width:600px){
  .foot-top{grid-template-columns:1fr;}
  .foot-bottom{flex-direction:column;gap:8px;text-align:center;}
}
