*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#070707; --surface:#101010; --surface2:#151515; --border:#262626;
  --yellow:#F5C518; --white:#fff; --grey:#8a8a8a; --grey2:#b2b2b2;
}
html{background:var(--black);scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--black);color:var(--white);
     line-height:1.65;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;position:relative}
a{color:var(--yellow);text-decoration:none}
a:hover{text-decoration:underline}

/* ambient yellow fades */
.glowlayer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.glow{position:absolute;border-radius:50%;filter:blur(100px)}
.g1{width:620px;height:460px;top:-200px;left:50%;transform:translateX(-50%);
    background:radial-gradient(circle,rgba(245,197,24,.16) 0%,transparent 70%)}
.g2{width:460px;height:460px;top:40%;right:-200px;background:rgba(245,197,24,.06)}
.g3{width:420px;height:420px;bottom:-120px;left:-160px;background:rgba(255,255,255,.035)}

/* nav */
.nav{position:relative;z-index:5;max-width:1080px;width:100%;margin:0 auto;padding:22px 24px;
     display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav .brand img{height:34px;width:auto;display:block}
.nav ul{list-style:none;display:flex;gap:22px;flex-wrap:wrap}
.nav ul a{color:var(--grey2);font-size:.86rem;font-weight:500}
.nav ul a:hover,.nav ul a.on{color:var(--yellow);text-decoration:none}

main{position:relative;z-index:1;flex:1;width:100%}
.wrap{max-width:900px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px;margin:0 auto;padding:0 24px}

/* hero */
.hero{text-align:center;padding:64px 24px 40px}
.pill{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.18em;
      text-transform:uppercase;color:var(--yellow);border:1px solid rgba(245,197,24,.35);
      background:rgba(245,197,24,.06);padding:6px 14px;border-radius:999px;margin-bottom:22px}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--yellow);
              box-shadow:0 0 10px rgba(245,197,24,.8)}
.hero h1{font-size:clamp(2.1rem,5.6vw,4rem);font-weight:900;line-height:1.08;max-width:820px;margin:0 auto 20px}
.hero h1 span{color:var(--yellow)}
.hero p{color:var(--grey2);max-width:600px;margin:0 auto 30px;font-size:1.05rem}
.hero p strong{color:var(--white)}
.btn{display:inline-block;background:var(--yellow);color:#080808;font-weight:800;font-size:1rem;border:0;
     padding:15px 34px;border-radius:8px;cursor:pointer;font-family:inherit;
     box-shadow:0 0 34px rgba(245,197,24,.28);transition:transform .18s,box-shadow .18s,background .18s}
.btn:hover{background:#ffd84a;transform:translateY(-2px);box-shadow:0 0 46px rgba(245,197,24,.42);text-decoration:none}
.btn:disabled{opacity:.6;cursor:default;transform:none}

section{padding:34px 0}
h2{font-size:clamp(1.6rem,3.6vw,2.3rem);font-weight:800;line-height:1.2;margin-bottom:22px;text-align:center}
h3{font-size:1.05rem;font-weight:700;margin-bottom:8px}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:linear-gradient(180deg,#151515 0%,#101010 100%);border:1px solid var(--border);
      border-radius:12px;padding:22px}
.card p{color:var(--grey);font-size:.9rem}
.card h3{color:var(--white)}
.card.gold{border-color:rgba(245,197,24,.34);background:rgba(245,197,24,.045);
           box-shadow:0 0 44px rgba(245,197,24,.06)}

.prose h3{margin-top:26px}
.prose p{color:var(--grey2);font-size:.95rem;margin-bottom:12px}
.prose p strong{color:var(--white)}

/* key/value info table */
.info{max-width:520px;margin:0 auto;border:1px solid var(--border);border-radius:12px;overflow:hidden;
      background:var(--surface2)}
.info div{display:flex;justify-content:space-between;gap:18px;padding:13px 18px;border-top:1px solid var(--border);
          font-size:.9rem}
.info div:first-child{border-top:0}
.info dt{color:var(--grey)}
.info dd{color:var(--white);text-align:right;word-break:break-word}

/* SMS program box */
.smsbox{border:1px solid rgba(245,197,24,.3);border-radius:14px;background:rgba(245,197,24,.035);padding:26px 26px 20px}
.smsbox .tag{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);
             border-left:2px solid var(--yellow);padding-left:10px;margin-bottom:18px}
.smsbox p{color:var(--grey2);font-size:.92rem;margin-bottom:10px}
.smsbox p strong{color:var(--white)}
.smsbox blockquote{border-left:2px solid var(--border);padding:4px 0 4px 14px;margin:8px 0;
                   color:var(--grey2);font-style:italic;font-size:.9rem}

/* form */
.formcard{max-width:520px;margin:0 auto;background:linear-gradient(180deg,#151515 0%,#101010 100%);
          border:1px solid var(--border);border-radius:16px;padding:26px 22px;
          box-shadow:0 26px 70px rgba(0,0,0,.6),0 0 60px rgba(245,197,24,.05)}
.formcard label.lbl{display:block;font-size:.84rem;font-weight:600;color:var(--grey2);margin:0 0 6px}
.field{width:100%;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:10px;
       padding:13px 14px;font-size:.96rem;font-family:inherit;color:var(--white);margin-bottom:16px;
       transition:border-color .2s,background .2s}
.field::placeholder{color:#6d6d6d}
.field:focus{outline:none;border-color:rgba(245,197,24,.6);background:rgba(245,197,24,.05)}
.field.bad{border-color:#d8483f}
textarea.field{min-height:110px;resize:vertical}
.consent{display:flex;gap:12px;align-items:flex-start;margin:0 0 18px;cursor:pointer}
.consent input{margin-top:4px;width:18px;height:18px;flex:0 0 18px;accent-color:var(--yellow);cursor:pointer}
.consent span{font-size:.78rem;color:var(--grey);line-height:1.55}
.formcard .btn{width:100%}
.fine{font-size:.78rem;color:#777;margin-top:14px;text-align:center}
.err{font-size:.82rem;color:#e0675c;margin:-6px 0 12px;display:none}
.err.show{display:block}
.ok{display:none;text-align:center;padding:10px 0}
.ok.show{display:block}
.ok h3{color:var(--yellow);font-size:1.2rem}
.ok p{color:var(--grey2);font-size:.92rem}

/* legal pages */
.legal{padding:40px 0 20px}
.legal h1{font-size:clamp(2rem,5vw,2.8rem);font-weight:900;margin-bottom:4px}
.legal .meta{color:var(--grey);font-size:.85rem;margin-bottom:10px}

footer{position:relative;z-index:1;border-top:1px solid var(--border);padding:26px 24px;text-align:center;margin-top:40px}
footer p{color:var(--grey);font-size:.8rem;margin-bottom:6px}
footer nav a{color:var(--grey2);font-size:.8rem}
footer nav a:hover{color:var(--yellow)}
footer nav span{color:#444;margin:0 8px}

@media(max-width:760px){
  .grid3{grid-template-columns:1fr}
  .nav{flex-direction:column;gap:12px;padding:18px 16px}
  .nav ul{gap:16px;justify-content:center}
  .wrap,.narrow{padding:0 16px}
  .hero{padding:40px 16px 26px}
  .smsbox{padding:20px 16px 14px}
  .info div{flex-direction:column;gap:2px}
  .info dd{text-align:left}
}

/* opened from the /apply form: legal page only, with a way back */
.backbar{display:none;position:relative;z-index:5;max-width:760px;margin:0 auto;padding:0 24px}
.backbar a{display:inline-block;font-size:.88rem;font-weight:600;color:var(--yellow);
           border:1px solid rgba(245,197,24,.35);background:rgba(245,197,24,.06);
           padding:8px 14px;border-radius:8px}
.backbar a:hover{text-decoration:none;background:rgba(245,197,24,.12)}
body.from-apply .backbar{display:block}
body.from-apply .nav ul,body.from-apply footer nav{display:none}
body.from-apply .nav{justify-content:center}
body.from-apply .nav .brand{pointer-events:none}

/* overview page */
.overview{padding:10px 0 20px}
.ov-wrap{max-width:1000px;margin:0 auto;padding:0 24px;text-align:center}
.ov-img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--border);
        box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 70px rgba(245,197,24,.08)}
.ov-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.btn.ghost{background:transparent;color:var(--yellow);border:1px solid rgba(245,197,24,.45);box-shadow:none}
.btn.ghost:hover{background:rgba(245,197,24,.08)}
@media(max-width:760px){ .ov-wrap{padding:0 10px} .backbar{padding:0 16px} }

/* funnel footer (overview page + /apply) */
footer.svf{display:block;border-top:1px solid #1f1f1f;padding:18px 24px 20px;text-align:left}
footer.svf .svf-in{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:22px}
footer.svf img{height:30px;width:auto;flex:0 0 auto;display:block;opacity:.92}
footer.svf .svf-txt{flex:1;min-width:0}
footer.svf .svf-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 18px;font-size:.8rem;color:#8a8a8a}
footer.svf nav a{font-size:.8rem;color:#8a8a8a;text-decoration:none;white-space:nowrap}
footer.svf nav a:hover{color:#F5C518}
footer.svf nav{display:flex;flex-wrap:wrap;align-items:center;row-gap:2px;max-width:100%}
footer.svf nav span{color:#444;margin:0 7px}
footer.svf .disc{margin:6px 0 0;font-size:.74rem;line-height:1.5;color:#6a6a6a;max-width:none;text-align:left}
@media(max-width:700px){
  footer.svf .svf-in{align-items:flex-start;gap:14px}
  footer.svf img{height:24px;margin-top:2px}
  footer.svf .svf-top{flex-direction:column;align-items:flex-start;gap:4px}
  footer.svf nav span{display:none}
  footer.svf nav{column-gap:16px}
}
.overview{padding-top:28px}
