@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Poppins:wght@300;400;500;600&display=swap');

/* ============ EBS Merchant Education Hub — shared styles ============ */
:root{
  --bg:#040604;
  --panel:#0a0e0b;
  --border:#1e2b23;
  --accent:#00E676;
  --accent-dim:rgba(0,230,118,.14);
  --text:#eef2ef;
  --muted:#9aa39d;
  --ink-on-accent:#00150a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Poppins',Arial,Helvetica,sans-serif;
  font-weight:300;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Oswald',Arial,sans-serif;
  text-transform:uppercase;
  line-height:1.15;
  margin:0;
  color:#fff;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;position:relative;z-index:2}

/* ---------- Top nav ---------- */
.topnav{
  position:sticky;top:0;z-index:50;
  background:rgba(4,6,4,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.topnav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.wordmark{font-family:'Oswald',Arial,sans-serif;font-size:19px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#fff}
.wordmark span{color:var(--accent)}
.topnav nav{display:flex;gap:28px;flex-wrap:wrap}
.topnav nav a{font-family:'Oswald',Arial,sans-serif;font-size:13.5px;letter-spacing:2px;text-transform:uppercase;color:var(--text)}
.topnav nav a:hover{color:var(--accent);text-decoration:none}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;text-align:center;
  padding:104px 0 76px;
  background:radial-gradient(900px 460px at 50% -10%,rgba(0,230,118,.16),transparent 65%),var(--bg);
}
.hero.left{text-align:left}
.kicker{color:var(--accent);font-family:'Oswald',Arial,sans-serif;font-size:14px;letter-spacing:3px;text-transform:uppercase;margin:0 0 18px}
.hero h1{font-size:clamp(36px,5.4vw,62px);font-weight:700;margin:0 0 20px}
.hero h1 .grn{color:var(--accent)}
.lead{color:#c9cfcb;font-size:18.5px;line-height:1.7;max-width:820px;margin:0 auto}
.hero.left .lead{margin:0}
.pill{display:inline-block;border:1px solid rgba(0,230,118,.55);color:var(--accent);font-family:'Oswald',Arial,sans-serif;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;padding:9px 20px;border-radius:999px;margin-top:26px}

/* ---------- Buttons ---------- */
.btn{display:inline-block;background:var(--accent);color:var(--ink-on-accent);font-family:'Oswald',Arial,sans-serif;text-transform:uppercase;letter-spacing:1.5px;font-size:16px;font-weight:600;padding:16px 34px;border-radius:10px;text-decoration:none;transition:transform .25s,box-shadow .25s}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,230,118,.35);text-decoration:none}
.btn.ghost{background:transparent;color:#fff;border:2px solid var(--accent)}
.btn.ghost:hover{color:#fff}
.ctas{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap}
.hero .ctas{justify-content:center}
.hero.left .ctas{justify-content:flex-start}

/* ---------- Sections ---------- */
.sec{padding:84px 0;position:relative;background:var(--bg)}
.sec.alt{background-color:#070a08;background-image:radial-gradient(700px 380px at 90% 0%,rgba(0,230,118,.07),transparent)}
.label{display:flex;align-items:center;gap:16px;color:var(--accent);font-family:'Oswald',Arial,sans-serif;font-size:14px;letter-spacing:3px;text-transform:uppercase;margin:0 0 18px}
.label .num{border:1px solid rgba(0,230,118,.5);border-radius:8px;padding:5px 11px;letter-spacing:2px}
.label .rule{flex:1;height:1px;background:linear-gradient(90deg,rgba(0,230,118,.5),transparent)}
.sec h2{font-size:clamp(30px,4.2vw,48px);font-weight:700;margin:0 0 16px}
.lead2{color:#c9cfcb;font-size:17.5px;line-height:1.7;max-width:860px;margin:0 0 48px}

/* ---------- Track card grid ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px 26px;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px);border-color:rgba(0,230,118,.55);box-shadow:0 18px 44px rgba(0,230,118,.13)}
.card .n{font-family:'Oswald',Arial,sans-serif;color:var(--accent);font-size:13px;letter-spacing:2.5px;margin:0 0 12px;text-transform:uppercase}
.card h3{font-size:20px;font-weight:600;letter-spacing:.5px;margin:0 0 10px;line-height:1.25}
.card p{color:#c9cfcb;font-size:15.5px;line-height:1.7;margin:0 0 18px}
.card .go{margin-top:auto;font-family:'Oswald',Arial,sans-serif;font-size:13.5px;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}
.card .go:hover{text-decoration:none;color:#fff}

/* ---------- How-it-works strip ---------- */
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.strip .cell{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:26px;text-align:center}
.strip .cell .v{font-family:'Oswald',Arial,sans-serif;font-size:26px;font-weight:700;color:var(--accent);margin:0 0 6px;text-transform:uppercase}
.strip .cell p{color:#c9cfcb;font-size:15px;line-height:1.65;margin:0}

/* ---------- Lesson body ---------- */
.lesson{max-width:820px}
.lesson h2{font-size:clamp(26px,3.4vw,36px);margin:52px 0 14px}
.lesson h2:first-child{margin-top:0}
.lesson h3{font-size:20px;margin:34px 0 10px;color:var(--accent)}
.lesson p{color:#d5dad6;font-size:16.5px;line-height:1.75;margin:0 0 16px}
.lesson ul{color:#d5dad6;font-size:16.5px;line-height:1.75;margin:0 0 16px;padding-left:22px}
.lesson li{margin-bottom:8px}
.lesson strong{font-weight:600;color:#fff}
.example{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:10px;padding:24px 26px;margin:26px 0}
.example .tag{font-family:'Oswald',Arial,sans-serif;font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
.example p{font-size:15.5px;margin:0 0 10px}
.example p:last-child{margin-bottom:0}
.example table{width:100%;border-collapse:collapse;font-size:15px;margin:8px 0}
.example td,.example th{padding:7px 8px;border-bottom:1px solid var(--border);text-align:left;color:#d5dad6}
.example td:last-child,.example th:last-child{text-align:right}
.example tr.total td{font-weight:600;color:#fff;border-bottom:none}

/* ---------- Checklist box ---------- */
.checklist{background:var(--panel);border:1px solid rgba(0,230,118,.4);border-radius:14px;padding:30px 32px;margin:48px 0 0;max-width:820px}
.checklist h3{font-size:21px;margin:0 0 6px}
.checklist .sub{color:var(--muted);font-size:14.5px;margin:0 0 18px}
.checklist ul{list-style:none;margin:0;padding:0}
.checklist li{position:relative;padding:9px 0 9px 34px;border-bottom:1px solid var(--border);color:#d5dad6;font-size:15.5px;line-height:1.6}
.checklist li:last-child{border-bottom:none}
.checklist li::before{content:"";position:absolute;left:2px;top:15px;width:13px;height:13px;border:2px solid var(--accent);border-radius:3px}

/* ---------- Closing band ---------- */
.band{position:relative;overflow:hidden;text-align:center;padding:100px 0;background:radial-gradient(800px 400px at 50% 100%,rgba(0,230,118,.14),transparent 65%),var(--bg)}
.band h2{font-size:clamp(32px,4.8vw,54px);font-weight:700;margin:18px 0 16px}
.band .sub{color:#cfd4d1;font-size:17.5px;max-width:700px;margin:0 auto 34px;line-height:1.7}
.band .ctas{justify-content:center}

/* ---------- More tracks nav ---------- */
.moretracks{border-top:1px solid var(--border);padding:56px 0 8px;background:#070a08}
.moretracks h3{font-size:18px;letter-spacing:2px;margin:0 0 20px;color:#fff}
.moretracks .links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.moretracks a{display:block;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px 18px;color:var(--text);font-size:14.5px;line-height:1.45;transition:border-color .25s,transform .25s}
.moretracks a:hover{border-color:rgba(0,230,118,.55);transform:translateY(-3px);text-decoration:none}
.moretracks a .n{display:block;font-family:'Oswald',Arial,sans-serif;font-size:11.5px;letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin-bottom:5px}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--border);padding:52px 0 44px;background:#020302}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
footer h4{font-size:14px;letter-spacing:2.5px;margin:0 0 14px;color:var(--accent)}
footer p,footer li{color:var(--muted);font-size:14.5px;line-height:1.7}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:7px}
footer a{color:#c9cfcb}
footer a:hover{color:var(--accent)}
footer .fine{margin-top:36px;padding-top:22px;border-top:1px solid var(--border);color:#6d756e;font-size:13px;line-height:1.6}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .moretracks .links{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .grid{grid-template-columns:1fr}
  .strip{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr}
}
@media(max-width:640px){
  .sec{padding:60px 0}
  .hero{padding:72px 0 56px}
  .band{padding:72px 0}
  .topnav .wrap{justify-content:center;text-align:center}
  .topnav nav{justify-content:center}
  .checklist{padding:24px 22px}
}

/* ---------- Batch E: photographic heroes & cards (cinematic alignment) ---------- */
.hero-photo{background-size:cover;background-position:center;background-repeat:no-repeat}
.card .ph{height:150px;border-radius:10px;background-size:cover;background-position:center;border:1px solid var(--border);margin:0 0 18px}

/* ---------- Brand anchor band ---------- */
.brandline{padding:56px 0;background:#070a08;border-bottom:1px solid var(--border);text-align:center}
.brandline p{font-family:'Oswald',Arial,sans-serif;font-size:clamp(28px,4.2vw,46px);font-weight:700;text-transform:uppercase;line-height:1.15;color:#fff;margin:0}
.brandline p span{color:var(--accent)}

/* ---------- Tool feature panel (index) ---------- */
.toolpanel{display:grid;grid-template-columns:1fr 1.25fr;background:var(--panel);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.toolpanel .timg{background-size:cover;background-position:center;min-height:280px}
.toolpanel .tbody{padding:36px 38px}
.toolpanel h3{font-size:24px;font-weight:600;margin:0 0 12px}
.toolpanel p,.toolpanel li{color:#c9cfcb;font-size:15.5px;line-height:1.7}
.toolpanel ul{margin:0 0 6px;padding-left:20px}
.toolpanel li{margin-bottom:8px}
.toolpanel strong{font-weight:600;color:#fff}

/* ---------- True Rate Worksheet ---------- */
.ws{background:var(--panel);border:1px solid rgba(0,230,118,.4);border-radius:14px;padding:36px 38px;max-width:920px}
.ws .fields{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ws label{display:block;font-family:'Oswald',Arial,sans-serif;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin:0 0 8px}
.ws input{width:100%;background:#040604;border:1px solid var(--border);border-radius:10px;color:#fff;font-family:'Poppins',Arial,sans-serif;font-size:18px;padding:14px 16px}
.ws input:focus{outline:none;border-color:var(--accent)}
.ws .hint{color:var(--muted);font-size:13px;margin:8px 0 0;line-height:1.55}
.ws .results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.ws .res{background:#040604;border:1px solid var(--border);border-radius:10px;padding:22px}
.ws .res .k{font-family:'Oswald',Arial,sans-serif;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.ws .res .v{font-family:'Oswald',Arial,sans-serif;font-size:32px;font-weight:700;color:#fff;margin:0;line-height:1.1}
.ws .res .v.grn{color:var(--accent)}
.ws .res .s{color:var(--muted);font-size:13.5px;margin:8px 0 0;line-height:1.55}
.ws .assume{margin-top:26px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-size:13.5px;line-height:1.65}
.ws .assume strong{color:#c9cfcb;font-weight:600}
.ws .ctas{margin-top:28px}

@media(max-width:900px){
  .toolpanel{grid-template-columns:1fr}
  .toolpanel .timg{min-height:200px}
  .ws .fields,.ws .results{grid-template-columns:1fr}
  .ws{padding:26px 22px}
}
