/* ============================================
   WiseMint — Styles v4
   Shared styles + Homepage + Partners
   ============================================ */

:root {
  --orange: #F58220;
  --gold: #FCB753;
  --charcoal: #414042;
  --white: #FFFFFF;
  --light-bg: #F7F7F7;
  --dark-bg: #414042;
  --darker-bg: #363638;
  --text-dark: #414042;
  --text-light: #FFFFFF;
  --text-muted: #6B6B6D;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.12);
  --radius-sm: 5px;
  --radius-md: 10px;
  --max-width: 1120px;
  --nav-height: 72px;
  --transition: 0.3s ease;
}

/* --- Reset --- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

body{font-family:'Red Hat Display',sans-serif;color:var(--text-dark);background:var(--white);line-height:1.65;overflow-x:hidden}

img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--transition)}
ul,ol{list-style:none}

/* --- Typography --- */
h1,h2,h3,h4,h5,h6{line-height:1.18;font-weight:700}
h1{font-size:clamp(2rem,4.8vw,3.2rem);letter-spacing:-0.025em}
h2{font-size:clamp(1.6rem,3.5vw,2.4rem);letter-spacing:-0.015em}
h3{font-size:clamp(1.05rem,2vw,1.3rem)}
p{font-size:clamp(0.95rem,1.6vw,1.05rem);color:var(--text-muted)}

.section-label{
  display:inline-block;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:8px;
}

/* --- Layout --- */
.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px}

section{padding:48px 0}
@media(max-width:768px){section{padding:32px 0}}

/* --- Buttons --- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:13px 28px;
  font-family:'Red Hat Display',sans-serif;font-size:1rem;font-weight:700;
  border:none;border-radius:var(--radius-sm);cursor:pointer;
  transition:all var(--transition);text-decoration:none;gap:6px;
}
.btn.btn-primary{background:var(--orange);color:#FFFFFF;box-shadow:0 3px 12px rgba(245,130,32,0.3)}
.btn.btn-primary:hover{background:#e0741a;color:#FFFFFF;box-shadow:0 5px 20px rgba(245,130,32,0.4);transform:translateY(-1px)}
.btn-charcoal{background:var(--charcoal);color:var(--white)}
.btn-charcoal:hover{background:var(--darker-bg);transform:translateY(-1px)}
.btn-secondary{background:transparent;color:var(--orange);border:2px solid var(--orange)}
.btn-secondary:hover{background:var(--orange);color:var(--white)}
.btn-large{padding:16px 36px;font-size:1.05rem}

/* --- Navigation --- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--nav-height);display:flex;align-items:center;
  background:var(--charcoal);transition:box-shadow var(--transition);
}
.nav.scrolled{box-shadow:0 2px 12px rgba(0,0,0,0.25)}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px;
}
.nav-logo img{height:auto;width:160px;filter:brightness(0) invert(1)}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{font-size:0.88rem;font-weight:600;color:rgba(255,255,255,0.8);transition:color var(--transition)}
.nav-links a:hover{color:var(--white)}
.nav-links .btn{padding:9px 20px;font-size:0.85rem;color:var(--white)}

/* Mobile toggle */
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--white);border-radius:2px;transition:all var(--transition)}
.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:900px){
  .nav-toggle{display:flex}
  .nav-links{
    position:fixed;top:var(--nav-height);left:0;right:0;
    flex-direction:column;background:var(--charcoal);
    padding:24px;gap:20px;box-shadow:var(--shadow-md);
    transform:translateY(-120%);opacity:0;visibility:hidden;
    transition:transform 0.35s ease,opacity 0.35s ease,visibility 0.35s ease;z-index:999;
  }
  .nav-links.open{transform:translateY(0);opacity:1;visibility:visible}
  .nav-links a{font-size:1rem;color:rgba(255,255,255,0.85) !important}
}
@media(max-width:480px){
  .nav{height:60px}
  .nav-logo img{width:140px}
  .hero{padding:calc(60px + 32px) 0 40px}
  .partner-hero{padding:calc(60px + 32px) 0 40px}
}

/* --- Hero --- */
.hero{
  position:relative;min-height:auto;display:flex;align-items:center;
  background:var(--charcoal);padding:calc(var(--nav-height) + 48px) 0 48px;
  overflow:hidden;
}
.hero::before{
  content:'';position:absolute;top:-40%;right:-15%;width:60%;height:140%;
  background:radial-gradient(ellipse,rgba(245,130,32,0.06) 0%,transparent 70%);pointer-events:none;
}
.hero .container{position:relative;z-index:1}
.hero-content{max-width:720px;text-align:center;margin:0 auto}
.hero h1{color:var(--white);margin-bottom:16px}
.hero-sub{color:rgba(255,255,255,0.7);font-size:clamp(0.95rem,1.8vw,1.1rem);line-height:1.7;margin-bottom:28px;max-width:620px;margin-left:auto;margin-right:auto}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}
.hero-actions .link-secondary{color:var(--gold);font-weight:600;font-size:0.9rem}
.hero-actions .link-secondary:hover{text-decoration:underline}

/* --- Stats Bar --- */
.stats-bar{background:var(--orange);padding:20px 0}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:center}
.stat-item{text-align:center;padding:0 8px}
.stat-item p{color:var(--white);font-size:0.9rem;font-weight:600;line-height:1.45}
@media(max-width:768px){
  .stats-grid{grid-template-columns:1fr;gap:14px}
}

/* --- Light / Dark / Alt sections --- */
.section-light{background:var(--white)}
.section-dark{background:var(--charcoal)}
.section-dark h2,.section-dark h3{color:var(--white)}
.section-dark p{color:rgba(255,255,255,0.72)}
.section-dark .section-label{color:var(--gold)}
.section-warm{background:#F5F0EB}
.section-alt{background:var(--light-bg)}

/* --- Prose sections --- */
.prose{max-width:720px;text-align:center;margin-left:auto;margin-right:auto}
.prose h2{margin-bottom:20px}
.prose p{margin-bottom:14px;font-size:clamp(0.95rem,1.6vw,1.05rem);line-height:1.75}
.prose p:last-child{margin-bottom:0}
.prose .highlight{font-weight:700;color:var(--text-dark);font-style:italic}

.section-dark .prose .highlight{color:var(--white)}

/* Section intro text (centered) */
.section-intro{max-width:640px;margin:0 auto 8px;text-align:center}

/* --- Metric Cards (What The Pros Measure) --- */
.metric-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:28px;
}
.metric-card{
  background:rgba(255,255,255,0.05);border-radius:var(--radius-md);
  padding:24px 20px;border:1px solid rgba(255,255,255,0.08);
  transition:all var(--transition);text-align:center;
}
.metric-card:hover{background:rgba(255,255,255,0.08);transform:translateY(-2px)}
.metric-icon{
  width:44px;height:44px;border-radius:var(--radius-sm);
  background:rgba(245,130,32,0.15);display:flex;align-items:center;
  justify-content:center;margin:0 auto 14px;
}
.metric-icon svg{width:22px;height:22px;stroke:var(--orange);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.metric-card h3{color:var(--white);margin-bottom:8px}
.metric-card p{font-size:0.9rem;line-height:1.6;color:rgba(255,255,255,0.65)}
@media(max-width:600px){.metric-grid{grid-template-columns:1fr}}

/* --- Grade Card Preview --- */
.grade-card{
  background:var(--white);border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);padding:28px 24px;
  max-width:260px;width:100%;
}
.grade-card-header{
  font-size:0.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:0.12em;color:var(--text-muted);margin-bottom:12px;
  text-align:center;
}
.grade-card-overall{
  text-align:center;margin-bottom:16px;padding-bottom:16px;
  border-bottom:1px solid rgba(0,0,0,0.08);
}
.grade-card-letter{font-size:3.5rem;font-weight:900;color:var(--orange);line-height:1}
.grade-card-plus{font-size:2.2rem;color:var(--gold)}
.grade-card-overall-label{font-size:0.8rem;color:var(--text-muted);margin-top:4px;font-weight:600}
.grade-card-metrics{display:flex;flex-direction:column;gap:8px}
.grade-metric{display:flex;justify-content:space-between;align-items:center;font-size:0.82rem}
.grade-metric-label{color:var(--text-muted)}
.grade-metric-value{font-weight:700;color:var(--text-dark)}

/* Grade card — centered vertical layout */
.grade-card-centered{max-width:340px;margin:28px auto 0;border:1px solid rgba(0,0,0,0.08)}

/* --- Steps --- */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:28px}
.step{text-align:center}
.step-number{
  width:48px;height:48px;border-radius:50%;background:var(--orange);
  color:var(--white);font-size:1.2rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;margin:0 auto 12px;
}
.step-title{font-size:0.95rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:8px}
.step p{font-size:0.88rem;max-width:300px;margin:0 auto;line-height:1.6}
.steps-note{text-align:center;margin-top:24px}
.steps-note a{color:var(--orange);font-weight:600;font-size:0.9rem}
.steps-note a:hover{text-decoration:underline}
.steps-note-text{color:var(--orange);font-weight:600;font-size:0.92rem;font-style:italic}
@media(max-width:768px){.steps-grid{grid-template-columns:1fr;gap:24px}}

/* --- Trust Row --- */
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.trust-item{text-align:center;padding:16px 12px}
.trust-item-icon{
  width:40px;height:40px;border-radius:50%;
  background:rgba(245,130,32,0.08);display:flex;align-items:center;
  justify-content:center;margin:0 auto 10px;
}
.trust-item-icon svg{width:18px;height:18px;stroke:var(--orange);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.trust-item h3{font-size:0.88rem;margin-bottom:4px}
.trust-item p{font-size:0.82rem;line-height:1.5}
@media(max-width:768px){.trust-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.trust-row{grid-template-columns:1fr}}

/* Trust callout — full-width emphasis block */
.trust-callout{
  display:flex;align-items:flex-start;gap:16px;
  margin-top:20px;padding:24px;
  background:var(--light-bg);border-radius:var(--radius-md);
  border:1px solid rgba(0,0,0,0.06);
}
.trust-callout-icon{
  flex-shrink:0;width:44px;height:44px;border-radius:50%;
  background:rgba(245,130,32,0.08);display:flex;align-items:center;
  justify-content:center;
}
.trust-callout-icon svg{width:22px;height:22px;stroke:var(--orange);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.trust-callout-content h3{font-size:1rem;margin-bottom:8px}
.trust-callout-content p{font-size:0.9rem;line-height:1.7}
@media(max-width:480px){
  .trust-callout{flex-direction:column;align-items:center;text-align:center}
}

/* --- Email Capture --- */
.email-section{background:var(--charcoal);padding:48px 0;text-align:center}
.email-section h2{color:var(--white);margin-bottom:8px}
.email-section .subhead{color:rgba(255,255,255,0.7);font-size:0.98rem;margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto}
.email-tally-wrap{
  max-width:520px;margin:0 auto 20px;
  background:var(--white);border-radius:var(--radius-md);
  padding:24px 20px 16px;
}
.email-tally-wrap iframe{border:none;border-radius:var(--radius-sm)}
.email-urgency{color:rgba(255,255,255,0.55);font-size:0.85rem;font-style:italic;margin-bottom:16px}
.email-partner-link{color:var(--gold);font-weight:600;font-size:0.88rem;text-decoration:underline;text-underline-offset:3px}
.email-partner-link:hover{color:rgba(252,183,83,0.8)}

/* --- Footer --- */
.footer{background:var(--darker-bg);padding:48px 0 24px}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.footer-brand img{height:auto;width:150px;filter:brightness(0) invert(1)}
.footer-brand p{color:rgba(255,255,255,0.55);font-size:0.82rem;margin-top:12px;max-width:280px}
.footer-col h4{color:var(--white);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:12px}
.footer-col a{display:block;color:rgba(255,255,255,0.55);font-size:0.85rem;margin-bottom:8px;transition:color var(--transition)}
.footer-col a:hover{color:var(--orange)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:20px}
.footer-disclaimer{color:rgba(255,255,255,0.35);font-size:0.72rem;line-height:1.65;max-width:860px}
.footer-social{display:flex;gap:12px;margin-top:10px}
.footer-social a{
  width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,0.07);
  display:flex;align-items:center;justify-content:center;transition:background var(--transition);
}
.footer-social a:hover{background:var(--orange)}
.footer-social svg{width:16px;height:16px;fill:var(--white)}
@media(max-width:768px){.footer-inner{grid-template-columns:1fr 1fr;gap:24px}.footer-brand{grid-column:1/-1}}
@media(max-width:480px){.footer-inner{grid-template-columns:1fr}}

/* --- Scroll Reveal --- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-stagger>*{opacity:0;transform:translateY(14px);transition:opacity 0.45s ease,transform 0.45s ease}
.reveal-stagger.visible>*:nth-child(1){transition-delay:0.04s}
.reveal-stagger.visible>*:nth-child(2){transition-delay:0.08s}
.reveal-stagger.visible>*:nth-child(3){transition-delay:0.12s}
.reveal-stagger.visible>*:nth-child(4){transition-delay:0.16s}
.reveal-stagger.visible>*:nth-child(5){transition-delay:0.2s}
.reveal-stagger.visible>*:nth-child(6){transition-delay:0.24s}
.reveal-stagger.visible>*{opacity:1;transform:translateY(0)}

/* --- Utility --- */
.text-center{text-align:center}


/* ============================================
   PARTNERS PAGE
   ============================================ */
.partner-hero{
  position:relative;padding:calc(var(--nav-height) + 48px) 0 48px;
  background:var(--charcoal);overflow:hidden;
}
.partner-hero::before{
  content:'';position:absolute;top:-30%;right:-12%;width:55%;height:130%;
  background:radial-gradient(ellipse,rgba(252,183,83,0.06) 0%,transparent 70%);pointer-events:none;
}
.partner-hero .container{position:relative;z-index:1;max-width:740px}
.partner-hero h1{color:var(--white);margin-bottom:16px}
.partner-hero p{color:rgba(255,255,255,0.7);font-size:clamp(0.95rem,1.8vw,1.1rem);line-height:1.7;max-width:640px}

.revenue-bar{background:var(--orange);padding:18px 0;text-align:center}
.revenue-bar p{color:var(--white);font-size:clamp(1rem,2vw,1.2rem);font-weight:700}

.partner-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.partner-card{
  background:var(--white);border-radius:var(--radius-md);padding:24px 20px;
  box-shadow:0 1px 4px rgba(0,0,0,0.06);border:1px solid rgba(0,0,0,0.04);
  transition:all var(--transition);
}
.partner-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.partner-card-icon{
  width:44px;height:44px;border-radius:var(--radius-sm);
  background:rgba(245,130,32,0.1);display:flex;align-items:center;
  justify-content:center;margin-bottom:14px;
}
.partner-card-icon svg{width:22px;height:22px;stroke:var(--orange);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.partner-card h3{margin-bottom:8px;font-size:1.05rem}
.partner-card p{font-size:0.88rem;line-height:1.6}
@media(max-width:900px){.partner-cards{grid-template-columns:1fr}}

.partner-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:28px}
.partner-step{text-align:center}
.partner-step .step-number{width:44px;height:44px;font-size:1.1rem}
.partner-step h3{font-size:0.92rem;margin-bottom:6px}
.partner-step p{font-size:0.84rem;line-height:1.55}
@media(max-width:768px){.partner-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.partner-steps{grid-template-columns:1fr}}

.checklist{margin-top:24px;max-width:640px}
.checklist-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,0.05)}
.checklist-item:last-child{border-bottom:none}
.check-icon{
  flex-shrink:0;width:24px;height:24px;border-radius:50%;
  background:rgba(245,130,32,0.08);display:flex;align-items:center;
  justify-content:center;margin-top:2px;
}
.check-icon svg{width:12px;height:12px;stroke:var(--orange);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.checklist-item p{font-size:0.92rem;color:var(--text-dark);font-weight:500}

.revenue-table-wrap{margin-top:24px;overflow-x:auto}
.revenue-table{width:100%;border-collapse:collapse;font-size:0.92rem}
.revenue-table th{
  text-align:left;padding:12px 20px;font-weight:700;font-size:0.78rem;
  text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);
  border-bottom:2px solid rgba(0,0,0,0.08);
}
.revenue-table td{padding:14px 20px;border-bottom:1px solid rgba(0,0,0,0.05);color:var(--text-dark);font-weight:500}
.revenue-table tr:last-child{background:rgba(245,130,32,0.08)}
.revenue-table tr:last-child td{color:var(--orange);font-weight:700;border-bottom:none}

.independence-section .container{max-width:720px}
.independence-section h2{margin-bottom:16px}
.independence-section p{font-size:clamp(0.95rem,1.6vw,1.05rem);line-height:1.75;margin-bottom:12px}

.apply-section{text-align:center;padding-bottom:0}
.apply-section h2{margin-bottom:8px}
.apply-section .subhead{color:var(--text-muted);font-size:1rem;margin-bottom:20px}
.apply-arrow{font-size:1.6rem;color:var(--orange);animation:bounceDown 2s infinite;display:inline-block;margin-bottom:12px}
@keyframes bounceDown{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.tally-embed{max-width:660px;margin:0 auto;padding:16px 0 60px}
.tally-embed iframe{border-radius:var(--radius-md)}
