/* ===== KrisLMS — training-partner.css ===== */

:root {
    --navy: #0f2044;
    --navy-mid: #1b3a6b;
    --teal: #0e7490;
    --teal-light: #0ea5c9;
    --gold: #c9a84c;
    --gold-light: #f0d080;
    --cream: #faf8f3;
    --white: #ffffff;
    --grey-100: #f3f4f6;
    --grey-200: #e5e7eb;
    --grey-500: #6b7280;
    --grey-700: #374151;
    --text: #1a2332;
  }
  * { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { font-family: 'DM Sans', sans-serif; background: var(--cream); color: var(--text); overflow-x: hidden; }

  /* ── NAV ── */
  nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    background: rgba(15,32,68,0.97); backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(201,168,76,0.2);
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 48px; height: 68px;
  }
  .nav-logo { display: flex; flex-direction: column; line-height: 1; text-decoration: none; }
  .nav-logo .wordmark { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 700; color: var(--white); letter-spacing: 0.02em; }
  .nav-logo .wordmark span { color: var(--gold); }
  .nav-logo .tagline { font-size: 9px; color: rgba(255,255,255,0.4); letter-spacing: 0.15em; text-transform: uppercase; margin-top: 3px; font-family: 'DM Mono', monospace; }
  .nav-links { display: flex; align-items: center; gap: 28px; list-style: none; }
  .nav-links a { font-size: 13px; font-weight: 500; color: rgba(255,255,255,0.7); text-decoration: none; letter-spacing: 0.03em; transition: color 0.2s; }
  .nav-links a:hover, .nav-links a.active { color: var(--gold-light); }
  .nav-login { background: var(--gold); color: var(--navy) !important; padding: 8px 20px; border-radius: 4px; font-weight: 600 !important; transition: background 0.2s !important; }
  .nav-login:hover { background: var(--gold-light) !important; }

/* HERO */
.hero{background:var(--navy);padding-top:102px;position:relative;overflow:hidden;min-height:280px;display:flex;align-items:center;}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,0.04) 1px,transparent 1px);background-size:60px 60px;}
.hero-glow-l{position:absolute;inset:0;background:radial-gradient(ellipse 50% 80% at 0% 50%,rgba(14,116,144,0.2) 0%,transparent 65%);}
.hero-glow-r{position:absolute;inset:0;background:radial-gradient(ellipse 40% 60% at 100% 50%,rgba(201,168,76,0.08) 0%,transparent 65%);}
.hero-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;width:100%;padding:52px 64px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.bc{display:flex;align-items:center;gap:8px;margin-bottom:16px;}
.bc a{font-size:11px;color:rgba(255,255,255,0.35);text-decoration:none;font-family:'DM Mono',monospace;transition:color 0.2s;}
.bc a:hover{color:var(--gold);}.bc-sep{font-size:11px;color:rgba(255,255,255,0.2);}.bc-cur{font-size:11px;color:var(--gold);font-family:'DM Mono',monospace;}
.hero-tag{font-size:10px;font-weight:600;color:var(--gold);letter-spacing:0.14em;text-transform:uppercase;font-family:'DM Mono',monospace;margin-bottom:10px;}
.hero h1{font-family:'Playfair Display',serif;font-size:36px;font-weight:700;color:var(--white);line-height:1.2;margin-bottom:14px;}
.hero h1 em{font-style:italic;color:var(--gold);}
.hero-sub{font-size:14px;color:rgba(255,255,255,0.48);line-height:1.8;max-width:420px;}
.hero-disciplines{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px;}
.disc-pill{padding:5px 12px;border-radius:20px;border:1px solid rgba(255,255,255,0.15);font-size:11px;color:rgba(255,255,255,0.55);font-family:'DM Mono',monospace;font-weight:500;}

/* HERO RIGHT — VALUE PROPS */
.hero-props{display:flex;flex-direction:column;gap:16px;}
.prop{display:flex;gap:14px;align-items:flex-start;}
.prop-icon{width:36px;height:36px;border-radius:8px;background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.2);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.prop-text{}
.prop-title{font-size:13px;font-weight:600;color:var(--white);margin-bottom:2px;}
.prop-desc{font-size:11px;color:rgba(255,255,255,0.38);line-height:1.6;}

/* FORM SECTION */
.form-wrap{max-width:1100px;margin:0 auto;padding:52px 64px 72px;display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:flex-start;}

/* FORM CARD */
.form-card{background:var(--white);border-radius:14px;border:1px solid var(--grey-200);box-shadow:0 2px 20px rgba(0,0,0,0.06);overflow:hidden;}
.form-card-head{background:var(--navy);padding:22px 28px;display:flex;align-items:center;gap:12px;}
.fch-num{width:28px;height:28px;border-radius:50%;background:var(--gold);color:var(--navy);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;flex-shrink:0;}
.fch-title{font-family:'Playfair Display',serif;font-size:16px;font-weight:600;color:var(--white);}
.fch-sub{font-size:11px;color:rgba(255,255,255,0.38);margin-top:1px;}
.form-body{padding:24px 28px 28px;}

/* FORM ELEMENTS */
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.field-row.full{grid-template-columns:1fr;}
.field{display:flex;flex-direction:column;gap:5px;}
.field label{font-size:11px;font-weight:600;color:var(--grey-700);letter-spacing:0.04em;}
.field label .req{color:var(--error);margin-left:2px;}
.field input,.field select,.field textarea{width:100%;padding:10px 13px;border:1.5px solid var(--grey-200);border-radius:7px;font-size:13px;font-family:'DM Sans',sans-serif;color:var(--text);background:var(--white);outline:none;transition:border-color 0.2s,box-shadow 0.2s;appearance:none;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,116,144,0.08);}
.field input.error,.field select.error,.field textarea.error{border-color:var(--error);}
.field textarea{resize:vertical;min-height:100px;line-height:1.6;}
.field-hint{font-size:10px;color:var(--grey-400);margin-top:2px;font-family:'DM Mono',monospace;}
.field-error{font-size:10px;color:var(--error);margin-top:2px;display:none;}
.field-error.show{display:block;}

/* SELECT CUSTOM ARROW */
.select-wrap{position:relative;}
.select-wrap select{padding-right:32px;}
.select-wrap::after{content:'▾';position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--grey-400);pointer-events:none;}

/* CHECKBOX GRID */
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px;}
.check-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1.5px solid var(--grey-200);border-radius:7px;cursor:pointer;transition:all 0.15s;user-select:none;}
.check-item:hover{border-color:var(--grey-300);background:var(--grey-50);}
.check-item.checked{border-color:var(--teal);background:#f0fdfe;}
.check-item input[type=checkbox]{display:none;}
.check-box{width:15px;height:15px;border:1.5px solid var(--grey-300);border-radius:3px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.check-item.checked .check-box{background:var(--teal);border-color:var(--teal);}
.check-item.checked .check-box::after{content:'✓';font-size:9px;color:white;font-weight:700;line-height:1;}
.check-label{font-size:12px;color:var(--grey-700);}

/* SECTION DIVIDER */
.form-divider{height:1px;background:var(--grey-100);margin:20px 0;}

/* EXPERIENCE RANGE */
.exp-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px;}
.exp-opt{padding:6px 14px;border-radius:20px;border:1.5px solid var(--grey-200);font-size:11px;font-weight:500;color:var(--grey-700);cursor:pointer;transition:all 0.15s;font-family:'DM Mono',monospace;}
.exp-opt:hover{border-color:var(--grey-300);background:var(--grey-50);}
.exp-opt.selected{background:var(--navy);color:var(--white);border-color:var(--navy);}

/* SUBMIT */
.submit-btn{display:flex;width:100%;padding:14px 20px;background:var(--navy);color:var(--white);border:none;border-radius:8px;font-size:14px;font-weight:700;font-family:'DM Sans',sans-serif;cursor:pointer;text-align:center;transition:all 0.2s;align-items:center;justify-content:center;gap:8px;margin-top:24px;}
.submit-btn:hover{background:var(--navy-mid);}
.submit-btn:disabled{background:var(--grey-300);cursor:default;}
.submit-note{font-size:10px;color:var(--grey-400);text-align:center;margin-top:10px;font-family:'DM Mono',monospace;line-height:1.6;}

/* SUCCESS STATE */
.success-state{display:none;text-align:center;padding:48px 28px;}
.success-state.show{display:block;}
.form-state{display:block;}
.form-state.hide{display:none;}
.success-icon{width:64px;height:64px;border-radius:50%;background:#f0fdf4;border:2px solid #86efac;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 20px;}
.success-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:600;color:var(--navy);margin-bottom:10px;}
.success-text{font-size:13px;color:var(--grey-500);line-height:1.8;max-width:380px;margin:0 auto 24px;}
.success-back{display:inline-flex;align-items:center;gap:7px;background:var(--navy);color:var(--white);padding:11px 22px;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none;transition:background 0.2s;}
.success-back:hover{background:var(--navy-mid);}

/* RIGHT SIDEBAR */
.info-sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:88px;}
.info-box{background:var(--white);border:1px solid var(--grey-200);border-radius:12px;padding:20px;}
.ib-title{font-family:'Playfair Display',serif;font-size:15px;font-weight:600;color:var(--navy);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--grey-100);}
.ib-step{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;}
.ib-step:last-child{margin-bottom:0;}
.ib-num{width:22px;height:22px;border-radius:50%;background:var(--navy);color:var(--white);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;flex-shrink:0;margin-top:1px;}
.ib-step-text{}
.ib-step-title{font-size:12px;font-weight:600;color:var(--navy);margin-bottom:2px;}
.ib-step-desc{font-size:11px;color:var(--grey-500);line-height:1.6;}
.ib-contact{background:var(--navy);border-radius:10px;padding:18px;}
.ib-contact .label{font-size:9px;font-weight:600;color:var(--gold);letter-spacing:0.12em;text-transform:uppercase;font-family:'DM Mono',monospace;margin-bottom:8px;}
.ib-contact p{font-size:12px;color:rgba(255,255,255,0.5);line-height:1.7;}
.ib-contact a{color:var(--gold-light);text-decoration:none;font-weight:600;}

  /* ── FOOTER ── */
  footer { background: var(--navy); padding: 64px 48px 0; }
  .footer-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1.2fr; gap: 44px; padding-bottom: 44px; border-bottom: 1px solid rgba(255,255,255,0.08); }
  .footer-brand .wordmark { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 700; color: var(--white); margin-bottom: 4px; }
  .footer-brand .wordmark span { color: var(--gold); }
  .footer-brand .descriptor { font-size: 12px; color: rgba(255,255,255,0.35); margin-bottom: 4px; }
  .footer-brand .tagline-f { font-size: 11px; color: var(--gold); font-family: 'DM Mono', monospace; letter-spacing: 0.08em; margin-bottom: 16px; }
  .footer-brand p { font-size: 12px; color: rgba(255,255,255,0.3); line-height: 1.7; max-width: 240px; }
  .footer-col h5 { font-size: 10px; font-weight: 600; color: rgba(255,255,255,0.3); letter-spacing: 0.12em; text-transform: uppercase; font-family: 'DM Mono', monospace; margin-bottom: 14px; }
  .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 9px; }
  .footer-col a { font-size: 12px; color: rgba(255,255,255,0.5); text-decoration: none; transition: color 0.2s; }
  .footer-col a:hover { color: var(--gold-light); }
  .fa-pill { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; padding: 10px 14px; margin-bottom: 8px; }
  .fa-label { font-size: 10px; color: var(--gold); font-family: 'DM Mono', monospace; font-weight: 600; letter-spacing: 0.07em; margin-bottom: 2px; }
  .fa-value { font-size: 11px; color: rgba(255,255,255,0.45); }
  .footer-bottom { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; padding: 18px 0; }
  .footer-bottom p { font-size: 11px; color: rgba(255,255,255,0.2); }
  .footer-bottom-links { display: flex; gap: 18px; }
  .footer-bottom-links a { font-size: 11px; color: rgba(255,255,255,0.2); text-decoration: none; }
  .footer-bottom-links a:hover { color: rgba(255,255,255,0.45); }

  .fade-in { opacity: 0; transform: translateY(18px); transition: opacity 0.6s ease, transform 0.6s ease; }
  .fade-in.visible { opacity: 1; transform: translateY(0); }


/* ANIMATIONS */
.form-card{opacity:0;transform:translateY(16px);animation:cardIn 0.5s ease 0.1s forwards;}
.info-sidebar{opacity:0;transform:translateY(16px);animation:cardIn 0.5s ease 0.25s forwards;}
@keyframes cardIn{to{opacity:1;transform:translateY(0);}}

/* ── SITE-WIDE TICKER ── */
.ticker-bar{position:fixed;top:68px;left:0;right:0;z-index:290;background:rgba(8,15,34,.96);border-bottom:1px solid rgba(201,168,76,.15);backdrop-filter:blur(8px);height:34px;overflow:hidden;}
.ticker-bar::before,.ticker-bar::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;}
.ticker-bar::before{left:0;background:linear-gradient(90deg,rgba(8,15,34,.98),transparent);}
.ticker-bar::after{right:0;background:linear-gradient(270deg,rgba(8,15,34,.98),transparent);}
.ticker-track{display:flex;align-items:center;height:34px;animation:tickerSlide 40s linear infinite;width:max-content;}
.ticker-track:hover{animation-play-state:paused;}
.ticker-item{display:inline-flex;align-items:center;gap:9px;padding:0 48px 0 0;white-space:nowrap;}
.ticker-tag{font-size:8px;font-weight:700;padding:2px 7px;border-radius:3px;font-family:'DM Mono',monospace;letter-spacing:.07em;text-transform:uppercase;flex-shrink:0;}
.ticker-tag.new{background:rgba(201,168,76,.15);color:#c9a84c;border:1px solid rgba(201,168,76,.25);}
.ticker-tag.live{background:rgba(22,163,74,.12);color:#4ade80;border:1px solid rgba(22,163,74,.25);}
.ticker-tag.cpd{background:rgba(139,92,246,.12);color:#a78bfa;border:1px solid rgba(139,92,246,.25);}
.ticker-tag.info{background:rgba(255,255,255,.06);color:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.1);}
.ticker-tag.soon{background:rgba(14,116,144,.15);color:#0ea5c9;border:1px solid rgba(14,116,144,.25);}
.ticker-text{font-size:11.5px;color:rgba(255,255,255,.42);font-family:'DM Sans',sans-serif;font-weight:400;}
.ticker-sep{width:1px;height:14px;background:rgba(255,255,255,.1);margin:0 20px 0 -32px;flex-shrink:0;}
@keyframes tickerSlide{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
/* Push page content down to account for ticker */
body.has-ticker nav ~ *:not(.ticker-bar){margin-top:0;}