/* =============================================
   FutureTrack Landing Page — landing.css
   ============================================= */

:root {
  --ft-navy:       #0A0F2E;
  --ft-navy-mid:   #111835;
  --ft-blue:       #2563EB;
  --ft-blue-light: #3B82F6;
  --ft-orange:     #F97316;
  --ft-orange-dk:  #EA6A0A;
  --ft-white:      #FFFFFF;
  --ft-off-white:  #F8FAFF;
  --ft-gray:       #64748B;
  --ft-gray-lt:    #E2E8F0;
  --ft-green:      #22C55E;
  --ft-red:        #EF4444;
  --ft-gold:       #F59E0B;
}

#ftlp-wrap *, #ftlp-wrap *::before, #ftlp-wrap *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
#ftlp-wrap {
  font-family: 'Inter', sans-serif;
  color: var(--ft-navy);
  line-height: 1.6;
  overflow-x: hidden;
}
#ftlp-wrap h1,#ftlp-wrap h2,#ftlp-wrap h3,#ftlp-wrap h4 {
  font-family: 'Poppins', sans-serif;
}

/* ---- CTA BUTTONS ---- */
.ftlp-cta {
  display: inline-block;
  background: linear-gradient(135deg, var(--ft-orange), #FF5F1F);
  color: var(--ft-white) !important;
  padding: 16px 40px;
  border-radius: 8px;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none !important;
  letter-spacing: 0.5px;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 4px 20px rgba(249,115,22,.4);
  cursor: pointer;
  border: none;
}
.ftlp-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(249,115,22,.5); }
.ftlp-cta-center { text-align: center; margin-top: 40px; }

/* ---- SECTION BASE ---- */
.ftlp-section { padding: 90px 40px; }
.ftlp-dark    { background: var(--ft-navy); }
.ftlp-mid     { background: var(--ft-navy-mid); }
.ftlp-light   { background: var(--ft-off-white); }
.ftlp-white   { background: var(--ft-white); }
.ftlp-container { max-width: 1100px; margin: 0 auto; }
.ftlp-label {
  font-size: .75rem; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: var(--ft-orange); margin-bottom: 12px;
}
.ftlp-heading   { font-size: 2.2rem; font-weight: 800; line-height: 1.3; margin-bottom: 16px; }
.ftlp-heading-w { color: var(--ft-white); }
.ftlp-sub       { color: var(--ft-gray); font-size: 1rem; max-width: 600px; }
.ftlp-sub-w     { color: #94A3B8; }

/* ---- HERO ---- */
#ftlp-hero {
  background: linear-gradient(135deg,#0A0F2E 0%,#0D1A4A 50%,#0F2060 100%);
  padding: 100px 40px 80px;
  position: relative; overflow: hidden;
}
#ftlp-hero::before {
  content:''; position:absolute; top:-100px; right:-100px;
  width:600px; height:600px;
  background:radial-gradient(circle,rgba(37,99,235,.2) 0%,transparent 70%);
  border-radius:50%;
}
.ftlp-hero-inner {
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;
  position:relative; z-index:2;
}
.ftlp-hero-badge {
  display:inline-block;
  background:rgba(249,115,22,.15); border:1px solid rgba(249,115,22,.4);
  color:var(--ft-orange); padding:6px 16px; border-radius:20px;
  font-size:.8rem; font-weight:600; letter-spacing:1px; text-transform:uppercase;
  margin-bottom:20px;
}
.ftlp-hero-headline {
  font-size:2.8rem; font-weight:900; color:var(--ft-white); line-height:1.2; margin-bottom:20px;
}
.ftlp-hero-headline span { color: var(--ft-orange); }
.ftlp-hero-sub { color:#94A3B8; font-size:1.05rem; line-height:1.7; margin-bottom:32px; }
.ftlp-highlights { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px; }
.ftlp-highlight {
  background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.3);
  color:var(--ft-green); padding:6px 14px; border-radius:20px;
  font-size:.85rem; font-weight:600;
}
.ftlp-hero-box {
  background:linear-gradient(145deg,rgba(37,99,235,.15),rgba(249,115,22,.1));
  border:1px solid rgba(37,99,235,.3); border-radius:20px; padding:40px;
  display:flex; flex-direction:column; align-items:center; min-height:380px;
  justify-content:center; text-align:center; gap:20px;
}
.ftlp-days-num {
  font-family:'Poppins',sans-serif; font-weight:900; font-size:5rem;
  color:var(--ft-white); line-height:1;
}
.ftlp-days-num span { color:var(--ft-orange); font-size:2rem; font-weight:700; display:block; }
.ftlp-hero-feats { list-style:none; text-align:left; width:100%; }
.ftlp-hero-feats li {
  color:#CBD5E1; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.06);
  font-size:.9rem; display:flex; align-items:center; gap:10px;
}
.ftlp-hero-feats li:last-child { border-bottom:none; }
.ftlp-hero-feats li::before { content:'→'; color:var(--ft-blue-light); font-weight:700; }

/* ---- PAIN POINTS ---- */
.ftlp-pain-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:48px 0;
}
.ftlp-pain-card {
  background:var(--ft-white); border:1px solid var(--ft-gray-lt);
  border-radius:12px; padding:24px; display:flex; align-items:flex-start; gap:14px;
  transition:box-shadow .2s;
}
.ftlp-pain-card:hover { box-shadow:0 4px 20px rgba(0,0,0,.08); }
.ftlp-pain-card h4 { font-size:.95rem; font-weight:700; margin-bottom:4px; }
.ftlp-pain-card p  { font-size:.85rem; color:var(--ft-gray); }
.ftlp-warn {
  background:linear-gradient(135deg,#FEF3C7,#FDE68A);
  border-left:4px solid var(--ft-gold); border-radius:8px;
  padding:20px 28px;
}
.ftlp-warn p { font-weight:600; color:#92400E; font-size:1rem; }

/* ---- SOLUTION ---- */
.ftlp-sol-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.ftlp-benefits { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px; }
.ftlp-benefit {
  display:flex; align-items:center; gap:10px;
  background:rgba(37,99,235,.08); border:1px solid rgba(37,99,235,.2);
  border-radius:8px; padding:12px 16px;
}
.ftlp-benefit span { color:var(--ft-green); }
.ftlp-benefit p   { font-weight:600; font-size:.9rem; color:var(--ft-white); }
.ftlp-sol-box {
  background:rgba(37,99,235,.12); border:1px solid rgba(37,99,235,.3);
  border-radius:20px; padding:48px 32px; text-align:center;
}
.ftlp-sol-box h3 { color:var(--ft-white); font-size:1.4rem; font-weight:800; margin-bottom:12px; }
.ftlp-sol-box p  { color:#94A3B8; font-size:.95rem; line-height:1.7; }
.ftlp-sol-nums {
  display:flex; justify-content:center; gap:32px;
  margin-top:28px; padding-top:24px; border-top:1px solid rgba(255,255,255,.1);
}
.ftlp-sol-num .n { font-size:1.8rem; font-weight:800; font-family:'Poppins',sans-serif; }
.ftlp-sol-num .l { font-size:.8rem; color:#64748B; }

/* ---- MODULES ---- */
.ftlp-modules-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px;
}
.ftlp-module {
  background:var(--ft-white); border:1px solid var(--ft-gray-lt);
  border-radius:14px; padding:24px 20px; text-align:center;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.ftlp-module:hover {
  transform:translateY(-6px);
  box-shadow:0 12px 32px rgba(37,99,235,.12);
  border-color:var(--ft-blue-light);
}
.ftlp-mod-num {
  display:inline-block; background:var(--ft-blue); color:var(--ft-white);
  font-family:'Poppins',sans-serif; font-weight:800; font-size:.8rem;
  padding:4px 12px; border-radius:20px; margin-bottom:14px;
}
.ftlp-module .ico { font-size:2rem; margin-bottom:10px; }
.ftlp-module h4  { font-size:.95rem; font-weight:700; }

/* ---- WHY CHOOSE ---- */
.ftlp-feats-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px;
}
.ftlp-feat {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  border-radius:14px; padding:28px 20px; text-align:center;
  transition:background .2s, border-color .2s;
}
.ftlp-feat:hover { background:rgba(37,99,235,.12); border-color:rgba(37,99,235,.4); }
.ftlp-feat .ico { font-size:2rem; margin-bottom:12px; }
.ftlp-feat h4   { color:var(--ft-white); font-size:.95rem; font-weight:700; }
.ftlp-stats {
  display:grid; grid-template-columns:repeat(4,1fr);
  background:linear-gradient(135deg,var(--ft-blue),#1D4ED8);
  border-radius:16px; padding:40px; margin-top:60px; gap:20px; text-align:center;
}
.ftlp-stat h3 { font-size:2.8rem; font-weight:900; color:var(--ft-white); font-family:'Poppins',sans-serif; }
.ftlp-stat p  { color:rgba(255,255,255,.8); font-size:.9rem; margin-top:4px; }

/* ---- ROADMAP ---- */
.ftlp-roadmap-wrap { overflow-x:auto; margin-top:60px; }
.ftlp-roadmap-inner { min-width:700px; }
.ftlp-roadmap-grid {
  display:grid; grid-template-columns:repeat(8,1fr); gap:12px; position:relative;
}
.ftlp-roadmap-line {
  position:absolute; top:22px; left:11px; right:11px; height:3px;
  background:linear-gradient(90deg,var(--ft-blue),var(--ft-orange)); border-radius:2px;
}
.ftlp-rd-item { text-align:center; padding-top:60px; position:relative; }
.ftlp-rd-dot {
  position:absolute; top:12px; left:50%; transform:translateX(-50%);
  width:22px; height:22px; border-radius:50%;
  background:var(--ft-white); border:3px solid var(--ft-blue); z-index:2;
}
.ftlp-rd-dot.orange { border-color:var(--ft-orange); }
.ftlp-rd-dot.filled { background:var(--ft-orange); border-color:var(--ft-orange); }
.ftlp-rd-week  { font-family:'Poppins',sans-serif; font-weight:800; font-size:.75rem; color:var(--ft-orange); margin-bottom:6px; }
.ftlp-rd-title { font-size:.8rem; font-weight:600; color:var(--ft-navy); line-height:1.4; }

/* ---- TRAINER ---- */
.ftlp-trainer-inner {
  display:grid; grid-template-columns:280px 1fr; gap:60px; align-items:center;
}
.ftlp-trainer-avatar {
  width:220px; height:220px; border-radius:50%;
  background:linear-gradient(135deg,var(--ft-blue),var(--ft-orange));
  display:flex; align-items:center; justify-content:center;
  font-size:6rem; margin:0 auto;
  border:4px solid rgba(37,99,235,.3);
  box-shadow:0 0 60px rgba(37,99,235,.25);
}
.ftlp-trainer-name { font-size:2rem; font-weight:800; color:var(--ft-white); margin:16px 0 8px; }
.ftlp-trainer-role { color:var(--ft-orange); font-weight:600; margin-bottom:16px; }
.ftlp-trainer-desc { color:#94A3B8; line-height:1.7; margin-bottom:24px; }
.ftlp-skills       { display:flex; flex-wrap:wrap; gap:10px; }
.ftlp-skill {
  background:rgba(37,99,235,.12); border:1px solid rgba(37,99,235,.3);
  color:#93C5FD; padding:6px 16px; border-radius:20px; font-size:.85rem; font-weight:600;
}

/* ---- REVIEWS ---- */
.ftlp-reviews-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px;
}
.ftlp-review {
  background:var(--ft-white); border:1px solid var(--ft-gray-lt);
  border-radius:16px; padding:28px; transition:box-shadow .2s;
}
.ftlp-review:hover { box-shadow:0 8px 24px rgba(0,0,0,.08); }
.ftlp-stars   { color:var(--ft-gold); margin-bottom:12px; }
.ftlp-review-text { color:#475569; font-size:.9rem; line-height:1.7; margin-bottom:16px; }
.ftlp-reviewer { display:flex; align-items:center; gap:12px; }
.ftlp-rev-avatar {
  width:42px; height:42px; border-radius:50%;
  background:linear-gradient(135deg,var(--ft-blue),var(--ft-orange));
  display:flex; align-items:center; justify-content:center;
  color:var(--ft-white); font-weight:800; font-size:1rem; flex-shrink:0;
}
.ftlp-reviewer h5 { font-size:.9rem; font-weight:700; }
.ftlp-reviewer p  { font-size:.8rem; color:var(--ft-gray); }

/* ---- OFFER ---- */
.ftlp-offer-box {
  background:linear-gradient(135deg,#0A0F2E,#0D1A4A);
  border:1px solid rgba(249,115,22,.3); border-radius:20px;
  padding:60px; max-width:800px; margin:0 auto; text-align:center;
  box-shadow:0 0 80px rgba(249,115,22,.1);
}
.ftlp-offer-box h2 { font-size:2rem; font-weight:900; color:var(--ft-white); margin:8px 0 32px; }
.ftlp-bonus-list   { list-style:none; text-align:left; display:inline-block; margin-bottom:36px; }
.ftlp-bonus-list li {
  display:flex; align-items:center; gap:12px;
  color:#CBD5E1; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.06); font-size:.95rem;
}
.ftlp-bonus-list li:last-child { border-bottom:none; }
.ftlp-bonus-list .ck { color:var(--ft-green); }
.ftlp-bonus-tag {
  background:var(--ft-orange); color:var(--ft-white);
  font-size:.7rem; font-weight:700; padding:2px 8px; border-radius:4px; margin-left:6px;
}
.ftlp-urgency {
  background:rgba(249,115,22,.12); border:1px solid rgba(249,115,22,.3);
  border-radius:8px; padding:14px 20px; margin-bottom:32px;
}
.ftlp-urgency p { color:var(--ft-orange); font-weight:700; font-size:.9rem; }

/* ---- FORM ---- */
.ftlp-form-box {
  background:var(--ft-white); border-radius:20px; padding:50px;
  box-shadow:0 8px 40px rgba(0,0,0,.08); max-width:600px; margin:0 auto;
}
.ftlp-form-box h2 { font-size:1.8rem; font-weight:800; color:var(--ft-navy); text-align:center; margin-bottom:8px; }
.ftlp-form-sub    { color:var(--ft-gray); text-align:center; margin-bottom:32px; font-size:.95rem; }
.ftlp-form-grid   { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ftlp-fg          { display:flex; flex-direction:column; gap:6px; }
.ftlp-fg.full     { grid-column:1/-1; }
.ftlp-fg label    { font-size:.85rem; font-weight:600; color:var(--ft-navy); }
.ftlp-fg input,
.ftlp-fg select {
  border:1.5px solid var(--ft-gray-lt); border-radius:8px;
  padding:12px 16px; font-size:.95rem; font-family:'Inter',sans-serif;
  color:var(--ft-navy); transition:border-color .2s; outline:none; width:100%;
}
.ftlp-fg input:focus, .ftlp-fg select:focus { border-color:var(--ft-blue); }
.ftlp-form-submit { width:100%; margin-top:8px; text-align:center; }
.ftlp-privacy { text-align:center; margin-top:12px; font-size:.8rem; color:var(--ft-gray); }
#ftlp-form-msg { display:none; margin-top:16px; padding:14px 20px; border-radius:8px; text-align:center; font-weight:600; }
#ftlp-form-msg.success { background:#DCFCE7; color:#166534; }
#ftlp-form-msg.error   { background:#FEE2E2; color:#991B1B; }

/* ---- FAQ ---- */
.ftlp-faq-list { max-width:720px; margin:48px auto 0; }
.ftlp-faq {
  border:1px solid var(--ft-gray-lt); border-radius:12px; margin-bottom:12px; overflow:hidden; cursor:pointer;
}
.ftlp-faq-q {
  display:flex; justify-content:space-between; align-items:center;
  padding:20px 24px; font-weight:700; font-size:.95rem; color:var(--ft-navy); user-select:none;
}
.ftlp-faq-toggle { color:var(--ft-blue); font-size:1.4rem; transition:transform .3s; line-height:1; }
.ftlp-faq-a {
  display:none; padding:0 24px 20px; color:var(--ft-gray); font-size:.9rem; line-height:1.7;
}
.ftlp-faq.open .ftlp-faq-a       { display:block; }
.ftlp-faq.open .ftlp-faq-toggle  { transform:rotate(45deg); }
.ftlp-faq.open                   { border-color:var(--ft-blue); }

/* ---- FOOTER ---- */
#ftlp-footer { background:#060B20; padding:60px 40px 30px; }
.ftlp-footer-inner { max-width:1100px; margin:0 auto; }
.ftlp-final-cta {
  background:linear-gradient(135deg,var(--ft-blue),#1D4ED8);
  border-radius:16px; padding:48px; text-align:center; margin-bottom:48px;
}
.ftlp-final-cta h2 { font-size:2rem; font-weight:800; color:var(--ft-white); margin-bottom:8px; }
.ftlp-final-cta p  { color:rgba(255,255,255,.8); margin-bottom:28px; }
.ftlp-footer-top {
  display:grid; grid-template-columns:2fr 1fr 1fr; gap:60px; margin-bottom:48px;
}
.ftlp-footer-brand h3 { font-size:1.3rem; font-weight:800; color:var(--ft-white); margin-bottom:10px; }
.ftlp-footer-brand h3 span { color:var(--ft-orange); }
.ftlp-footer-brand p  { color:#64748B; font-size:.9rem; line-height:1.7; margin-bottom:16px; }
.ftlp-footer-contact  { display:flex; flex-direction:column; gap:8px; }
.ftlp-footer-contact a { color:#94A3B8; font-size:.9rem; text-decoration:none; transition:color .2s; }
.ftlp-footer-contact a:hover { color:var(--ft-orange); }
.ftlp-footer-col h4   { color:var(--ft-white); font-size:.95rem; font-weight:700; margin-bottom:16px; }
.ftlp-footer-links    { list-style:none; display:flex; flex-direction:column; gap:8px; }
.ftlp-footer-links a  { color:#64748B; font-size:.9rem; text-decoration:none; transition:color .2s; }
.ftlp-footer-links a:hover { color:var(--ft-white); }
.ftlp-socials { display:flex; gap:12px; margin-top:16px; }
.ftlp-social {
  width:36px; height:36px; border-radius:8px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  color:#94A3B8; font-size:.85rem; text-decoration:none; transition:all .2s;
}
.ftlp-social:hover { background:var(--ft-blue); color:var(--ft-white); }
.ftlp-footer-bottom {
  border-top:1px solid rgba(255,255,255,.06); padding-top:24px;
  display:flex; justify-content:space-between; align-items:center;
}
.ftlp-footer-bottom p { color:#475569; font-size:.85rem; }
.ftlp-legal { display:flex; gap:20px; }
.ftlp-legal a { color:#475569; font-size:.85rem; text-decoration:none; transition:color .2s; }
.ftlp-legal a:hover { color:var(--ft-white); }

/* ---- RESPONSIVE ---- */
@media(max-width:900px){
  #ftlp-hero { padding:80px 24px 60px; }
  .ftlp-hero-inner       { grid-template-columns:1fr; }
  .ftlp-hero-headline    { font-size:2rem; }
  .ftlp-section          { padding:70px 24px; }
  .ftlp-pain-grid        { grid-template-columns:1fr 1fr; }
  .ftlp-modules-grid     { grid-template-columns:repeat(2,1fr); }
  .ftlp-feats-grid       { grid-template-columns:repeat(2,1fr); }
  .ftlp-stats            { grid-template-columns:repeat(2,1fr); }
  .ftlp-reviews-grid     { grid-template-columns:1fr; }
  .ftlp-trainer-inner    { grid-template-columns:1fr; text-align:center; }
  .ftlp-skills           { justify-content:center; }
  .ftlp-form-grid        { grid-template-columns:1fr; }
  .ftlp-sol-grid         { grid-template-columns:1fr; }
  .ftlp-footer-top       { grid-template-columns:1fr; gap:40px; }
  .ftlp-footer-bottom    { flex-direction:column; gap:12px; }
  #ftlp-hero { padding:80px 24px 60px; }
}
@media(max-width:580px){
  .ftlp-pain-grid        { grid-template-columns:1fr; }
  .ftlp-modules-grid     { grid-template-columns:1fr 1fr; }
  .ftlp-feats-grid       { grid-template-columns:1fr 1fr; }
  .ftlp-stats            { grid-template-columns:1fr 1fr; }
  .ftlp-offer-box        { padding:36px 24px; }
  .ftlp-form-box         { padding:32px 20px; }
  .ftlp-heading          { font-size:1.7rem; }
  .ftlp-hero-headline    { font-size:1.75rem; }
}
@media(prefers-reduced-motion:reduce){
  #ftlp-wrap *, #ftlp-wrap *::before, #ftlp-wrap *::after {
    animation:none!important; transition:none!important;
  }
}
