/* ============ TOKENS ============ */
:root{
  --black:#0A0A0B;
  --panel:#111214;      /* slightly lifted dark panel */
  --panel-2:#0D1420;    /* blue-tinted dark panel */
  --panel-3:#15100E;    /* orange-tinted dark panel */
  --line: rgba(255,255,255,0.12);
  --line-soft: rgba(255,255,255,0.07);

  --white:#FFFFFF;
  --ink-dim: rgba(255,255,255,0.66);
  --ink-mute: rgba(255,255,255,0.42);

  --orange:#F2A634;
  --accent:#A5C74D;
  --blue:#3E6FA8;      /* lightened for contrast on dark */
  --blue-deep:#12355B;
  --sage:#A1B0AB;
  --rose:#C08C8E;      /* lightened for contrast on dark */
  --rose-deep:#9B6A6C;
  --danger:#D7263D;
  --success:#548b52;

  --maxw:1180px;
  --pad: clamp(20px, 5vw, 64px);
  --radius: 0px; /* no rounded corners, per brief */

  --ease: cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Poppins', sans-serif;
  color:var(--white);
  background:var(--black);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  font-weight:400;
}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}

h1,h2,h3{
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1.04;
  color:var(--white);
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--sage);
  margin-bottom:20px;
}
.eyebrow::before{
  content:"";
  width:22px;
  height:2px;
  background:var(--sage);
  display:inline-block;
}

section{
  position:relative;
  padding: clamp(64px, 12vw, 140px) var(--pad);
}
.wrap{
  max-width:var(--maxw);
  margin:0 auto;
  position:relative;
}

a:focus-visible, button:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

/* ============ REVEAL ============ */
.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.reveal.in{opacity:1; transform:translateY(0);}

/* ============ NAV ============ */
header.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(10,10,11,0.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  padding: 0 var(--pad);
}
.nav-inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding: 18px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.logo{
  font-weight:800;
  font-size:17px;
  letter-spacing:-0.01em;
  display:flex;
  align-items:baseline;
  gap:10px;
  color:var(--white);
}
.logo .brand-name{ color:var(--orange); }
.logo .tag{
  font-weight:500;
  font-size:12px;
  color:var(--sage);
  letter-spacing:0;
}
.nav-cta{
  background:var(--accent);
  color:var(--black);
  padding:11px 22px;
  font-size:14px;
  font-weight:700;
  border:1px solid var(--accent);
  transition: background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
}
.nav-cta:hover{ background:transparent; color:var(--accent); transform:translateY(-1px);}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:17px 32px;
  font-weight:700;
  font-size:15.5px;
  letter-spacing:0.01em;
  cursor:pointer;
  border:1.5px solid transparent;
  transition: transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.btn-primary{ background:var(--accent); color:var(--black); border-color:var(--accent);}
.btn-primary:hover{ transform:translateY(-2px); background:transparent; color:var(--accent); }
.btn-ghost{ border-color:rgba(255,255,255,0.35); color:var(--white); background:transparent; }
.btn-ghost:hover{ transform:translateY(-2px); border-color:var(--accent); color:var(--accent); }

.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:center;
}
.cta-note{
  font-size:13px;
  color:var(--ink-mute);
  margin-top:16px;
  font-weight:500;
}

/* ============ FOOTER ============ */
footer{
  background:var(--black);
  padding: 40px var(--pad) 48px;
  border-top:1px solid var(--line);
}
.footer-inner{
  max-width:var(--maxw);
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  font-size:13.5px;
  color:var(--ink-mute);
  font-weight:500;
}
.footer-brand{
  color:var(--ink-mute);
  font-weight:600;
  transition: color .2s var(--ease);
}
.footer-brand:hover{ color:var(--accent); }
