/*
Theme Name: CMTI
Theme URI: https://cmti.com.np/
Author: CMTI Web Team
Description: Custom corporate and capital-market education theme for Capital Market Training Institute.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: cmti
*/

:root {
  --navy: #071b35;
  --navy-2: #0b294d;
  --blue: #0b63ce;
  --blue-2: #0e83f1;
  --green: #18a86b;
  --red: #d84a4a;
  --ink: #102033;
  --muted: #65748b;
  --line: #e6ebf1;
  --soft: #f5f8fb;
  --white: #fff;
  --radius: 18px;
  --shadow: 0 16px 45px rgba(7, 27, 53, .09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.7;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.site-main { min-height: 60vh; }

.topbar {
  background: var(--navy);
  color: #dbe8f7;
  font-size: 13px;
}
.topbar-inner { min-height: 38px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.topbar a:hover { color: #fff; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
.header-inner { min-height: 78px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.site-brand { display:flex; align-items:center; gap:12px; font-weight:800; color:var(--navy); }
.site-brand img { width:auto; height:52px; max-width:150px; object-fit:contain; border-radius:6px; }
.brand-mark { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,var(--blue),var(--green)); font-weight:900; }
.brand-name { line-height:1.05; }
.brand-name small { display:block; font-size:10px; letter-spacing:.12em; color:var(--muted); margin-top:4px; }

.primary-nav ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:24px; }
.primary-nav a { font-size:14px; font-weight:650; color:#2b3d52; }
.primary-nav a:hover { color:var(--blue); }
.menu-toggle { display:none; border:0; background:none; font-size:25px; cursor:pointer; }

.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border-radius:12px; padding:12px 18px; border:1px solid transparent;
  font-weight:750; font-size:14px; cursor:pointer; transition:.2s ease;
}
.btn-primary { color:#fff; background:var(--blue); box-shadow:0 8px 20px rgba(11,99,206,.18); }
.btn-primary:hover { background:#084fa6; transform:translateY(-1px); }
.btn-dark { color:#fff; background:var(--navy); }
.btn-light { color:var(--navy); background:#fff; border-color:var(--line); }
.btn-ghost { color:var(--blue); background:#edf5ff; }
.btn-sm { padding:9px 13px; border-radius:10px; font-size:13px; }

.hero {
  position:relative; overflow:hidden; color:#fff;
  background:
    radial-gradient(circle at 82% 20%, rgba(14,131,241,.25), transparent 30%),
    radial-gradient(circle at 20% 90%, rgba(24,168,107,.16), transparent 28%),
    linear-gradient(135deg, #06182f 0%, #0a3159 62%, #082342 100%);
}
.hero::after {
  content:""; position:absolute; inset:auto -10% -55% 40%; height:600px;
  background:repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 20px);
  transform:rotate(-8deg);
}
.hero-inner { min-height:560px; display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:center; position:relative; z-index:1; }
.eyebrow { color:#79b9ff; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:800; }
.hero h1 { margin:10px 0 18px; font-size:clamp(42px,5.3vw,68px); line-height:1.03; letter-spacing:-.04em; max-width:760px; }
.hero p { color:#cbd9e8; max-width:650px; font-size:18px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }

.market-panel {
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.13);
  border-radius:24px; padding:22px; box-shadow:0 30px 80px rgba(0,0,0,.18);
}
.market-panel h3 { margin:0 0 15px; font-size:15px; }
.market-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.market-stat { background:rgba(255,255,255,.07); border-radius:15px; padding:16px; }
.market-stat span { display:block; color:#a9bfd7; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.market-stat strong { display:block; margin-top:4px; font-size:21px; }
.positive { color:#63df9f; }
.negative { color:#ff8b8b; }

.section { padding:82px 0; }
.section-soft { background:var(--soft); }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:30px; }
.section-head h2 { margin:4px 0 0; font-size:36px; line-height:1.1; letter-spacing:-.03em; }
.section-head p { margin:0; color:var(--muted); max-width:600px; }

.grid { display:grid; gap:20px; }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }

.card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:.22s ease; }
.card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.card-body { padding:22px; }
.card h3 { margin:0 0 7px; font-size:20px; line-height:1.25; }
.card p { color:var(--muted); margin:0 0 14px; }
.card-image { aspect-ratio:16/9; object-fit:cover; width:100%; background:#eaf0f6; }
.meta { color:#7b899b; font-size:12px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.pill { display:inline-flex; padding:5px 9px; border-radius:999px; background:#edf5ff; color:var(--blue); font-size:11px; font-weight:800; }

.program-card { padding:24px; }
.program-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:#edf5ff; color:var(--blue); font-weight:900; margin-bottom:18px; }

.insight-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:20px; }
.featured-card { min-height:100%; }
.featured-card .card-image { aspect-ratio:16/8; }

.cta {
  background:linear-gradient(135deg,var(--blue),#0b438b);
  color:#fff; border-radius:28px; padding:46px; display:flex; align-items:center; justify-content:space-between; gap:25px;
}
.cta h2 { margin:0 0 8px; font-size:34px; }
.cta p { margin:0; color:#d7e8fa; }

.page-hero { background:var(--soft); padding:65px 0; border-bottom:1px solid var(--line); }
.page-hero h1 { margin:8px 0 0; font-size:48px; letter-spacing:-.04em; line-height:1.1; }
.breadcrumbs { font-size:13px; color:var(--muted); }

.single-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:45px; }
.article h1 { font-size:48px; line-height:1.08; letter-spacing:-.04em; margin:0 0 15px; }
.article-content { font-size:17px; }
.article-content h2, .article-content h3 { color:var(--navy); margin-top:35px; }
.article-content img { border-radius:16px; }
.sidebar-box { border:1px solid var(--line); border-radius:18px; padding:22px; margin-bottom:18px; }
.sidebar-box h3 { margin-top:0; }

.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { margin-bottom:16px; }
.field label { display:block; font-weight:700; font-size:13px; margin-bottom:7px; }
.field input, .field select, .field textarea {
  width:100%; border:1px solid #dbe3eb; border-radius:11px; padding:12px 13px; outline:none; background:#fff;
}
.field textarea { min-height:140px; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(11,99,206,.09); }

.site-footer { background:var(--navy); color:#cbd8e7; padding:65px 0 25px; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:35px; }
.site-footer h3 { color:#fff; font-size:15px; }
.site-footer ul { list-style:none; margin:0; padding:0; }
.site-footer li { margin:8px 0; }
.site-footer a:hover { color:#fff; }
.footer-bottom { margin-top:45px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); font-size:12px; display:flex; justify-content:space-between; gap:20px; }

.notice { padding:13px 15px; border-radius:11px; background:#edf9f3; color:#16724c; margin-bottom:18px; }
.empty { padding:35px; text-align:center; border:1px dashed #cbd5e1; border-radius:18px; color:var(--muted); }

@media (max-width: 980px) {
  .hero-inner, .insight-layout, .single-layout { grid-template-columns:1fr; }
  .grid-4 { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .primary-nav { display:none; position:absolute; left:20px; right:20px; top:78px; background:#fff; border:1px solid var(--line); border-radius:15px; box-shadow:var(--shadow); padding:15px; }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { flex-direction:column; align-items:stretch; gap:0; }
  .primary-nav li a { display:block; padding:10px; }
  .menu-toggle { display:block; }
}
@media (max-width: 680px) {
  .container { width:min(100% - 28px, 1180px); }
  .topbar { display:none; }
  .header-inner { min-height:68px; }
  .primary-nav { top:68px; left:14px; right:14px; }
  .hero-inner { min-height:auto; padding:75px 0; }
  .hero h1 { font-size:42px; }
  .section { padding:58px 0; }
  .section-head { align-items:start; flex-direction:column; }
  .section-head h2, .page-hero h1, .article h1 { font-size:34px; }
  .grid-3, .grid-4, .form-grid { grid-template-columns:1fr; }
  .cta { padding:30px; flex-direction:column; align-items:flex-start; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
}


/* CMTI Premium Motion & Finance UI */
::selection { background: #0b63ce; color:#fff; }
.site-header { transition: box-shadow .25s ease, background .25s ease; }
.site-header.scrolled { box-shadow:0 10px 35px rgba(7,27,53,.10); background:rgba(255,255,255,.88); }

.hero { min-height: 610px; }
.hero::before { content:""; position:absolute; width:520px; height:520px; right:-150px; top:-170px; border-radius:50%; background:radial-gradient(circle,rgba(52,191,255,.18),transparent 68%); filter:blur(2px); animation:floatOrb 9s ease-in-out infinite; }
.hero-copy { position:relative; z-index:3; animation:heroIn .8s ease both; }
.hero h1 .gradient-word { background:linear-gradient(90deg,#fff 0%,#8bd0ff 50%,#7ae6ae 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-kpis { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.hero-kpi { display:flex; align-items:center; gap:7px; padding:8px 11px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.055); border-radius:999px; color:#d6e5f5; font-size:11px; backdrop-filter:blur(10px); }
.kpi-dot { width:7px; height:7px; border-radius:50%; background:#4ce29a; box-shadow:0 0 0 5px rgba(76,226,154,.10); }
.market-visual { position:relative; min-height:390px; display:flex; align-items:center; justify-content:center; animation:heroIn .9s .12s ease both; }
.market-orbit { position:absolute; width:360px; height:360px; border:1px solid rgba(122,208,255,.16); border-radius:50%; animation:spin 28s linear infinite; }
.market-orbit::before,.market-orbit::after { content:""; position:absolute; width:9px; height:9px; border-radius:50%; background:#54dca0; box-shadow:0 0 18px rgba(84,220,160,.8); }
.market-orbit::before { top:26px; left:58px; }.market-orbit::after { right:38px; bottom:70px; background:#53b9ff; box-shadow:0 0 18px rgba(83,185,255,.8); }
.market-panel { width:min(100%,470px); position:relative; z-index:2; backdrop-filter:blur(18px); animation:panelFloat 5s ease-in-out infinite; }
.market-panel::after { content:"LIVE MARKET VIEW"; position:absolute; top:18px; right:20px; font-size:9px; letter-spacing:.14em; color:#6ce2aa; }
.market-panel h3 { padding-right:110px; }
.market-stat { position:relative; overflow:hidden; transition:.25s ease; }
.market-stat:hover { transform:translateY(-3px); background:rgba(255,255,255,.11); }
.market-stat strong { font-variant-numeric:tabular-nums; }
.market-chart { margin-top:15px; height:78px; border-radius:13px; overflow:hidden; background:linear-gradient(180deg,rgba(24,168,107,.10),transparent); }
.market-chart svg { width:100%; height:100%; }
.chart-line { fill:none; stroke:#55dca0; stroke-width:2.5; stroke-linecap:round; stroke-dasharray:600; stroke-dashoffset:600; animation:drawChart 2.2s .5s ease forwards; }
.chart-fill { fill:url(#chartFade); opacity:.7; }

.ticker-wrap { background:#f7fafc; border-bottom:1px solid var(--line); overflow:hidden; }
.ticker { min-height:43px; display:flex; align-items:center; gap:26px; white-space:nowrap; animation:tickerMove 26s linear infinite; width:max-content; }
.ticker-item { display:flex; align-items:center; gap:7px; font-size:12px; color:#5e7087; }
.ticker-item strong { color:var(--ink); }.ticker-up { color:var(--green); font-weight:800; }.ticker-down { color:var(--red); font-weight:800; }

.section { position:relative; }
.section-label { display:inline-flex; align-items:center; gap:8px; }
.section-label::before { content:""; width:25px; height:2px; background:linear-gradient(90deg,var(--blue),var(--green)); }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity:1; transform:none; }
.stagger > * { opacity:0; transform:translateY(18px); }
.stagger.is-visible > * { animation:cardIn .65s ease forwards; }
.stagger.is-visible > *:nth-child(2){animation-delay:.08s}.stagger.is-visible > *:nth-child(3){animation-delay:.16s}.stagger.is-visible > *:nth-child(4){animation-delay:.24s}

.program-card { position:relative; isolation:isolate; }
.program-card::before { content:""; position:absolute; width:100px; height:100px; right:-55px; top:-55px; border-radius:50%; background:rgba(11,99,206,.07); z-index:-1; transition:.35s ease; }
.program-card:hover::before { transform:scale(2.5); }
.program-card:hover .program-icon { transform:rotate(-5deg) scale(1.05); }
.program-icon { transition:.25s ease; }
.card { position:relative; }
.card-image { transition:transform .55s ease; }
.card:hover .card-image { transform:scale(1.035); }
.featured-card { box-shadow:0 20px 60px rgba(7,27,53,.07); }

.stats-strip { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff; box-shadow:0 14px 45px rgba(7,27,53,.06); }
.stat-box { padding:24px; border-right:1px solid var(--line); }.stat-box:last-child{border-right:0}.stat-box strong{display:block;font-size:30px;line-height:1.1;color:var(--navy)}.stat-box span{font-size:12px;color:var(--muted)}

.cta { position:relative; overflow:hidden; isolation:isolate; box-shadow:0 25px 65px rgba(11,99,206,.18); }
.cta::before,.cta::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.12); border-radius:50%; z-index:-1; }.cta::before{width:300px;height:300px;right:-90px;top:-180px}.cta::after{width:180px;height:180px;right:120px;bottom:-140px}
.btn { position:relative; overflow:hidden; }.btn::after { content:""; position:absolute; top:0; left:-110%; width:60%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent); transform:skewX(-20deg); transition:left .55s ease; }.btn:hover::after{left:140%}

@keyframes heroIn { from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none} }
@keyframes panelFloat { 0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)} }
@keyframes floatOrb { 0%,100%{transform:translate(0,0)}50%{transform:translate(-25px,20px)} }
@keyframes spin { to{transform:rotate(360deg)} }
@keyframes drawChart { to{stroke-dashoffset:0} }
@keyframes tickerMove { from{transform:translateX(0)}to{transform:translateX(-35%)} }
@keyframes cardIn { to{opacity:1;transform:none} }
@media(max-width:680px){.hero{min-height:0}.market-visual{min-height:350px}.market-orbit{width:300px;height:300px}.stats-strip{grid-template-columns:1fr 1fr}.stat-box:nth-child(2){border-right:0}.stat-box:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat-box strong{font-size:25px}.ticker{animation-duration:20s}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.stagger>*{opacity:1;transform:none}}

/* Stock-capital footer */
.stock-footer{position:relative;overflow:hidden;background:
 radial-gradient(circle at 78% 18%,rgba(24,168,107,.18),transparent 26%),
 radial-gradient(circle at 18% 75%,rgba(14,131,241,.18),transparent 30%),
 linear-gradient(135deg,#041426 0%,#071f3b 52%,#062b2c 100%);
 border-top:1px solid rgba(255,255,255,.08)}
.stock-footer:before{content:"";position:absolute;inset:0;background:
 linear-gradient(135deg,transparent 0 48%,rgba(24,168,107,.07) 48.2%,transparent 48.5%),
 repeating-linear-gradient(165deg,rgba(255,255,255,.025) 0 1px,transparent 1px 34px);
 pointer-events:none}
.stock-footer-grid{position:absolute;right:-5%;top:0;width:55%;height:100%;opacity:.3;background:
 linear-gradient(145deg,transparent 45%,#18a86b 45.2% 45.7%,transparent 45.9%),
 linear-gradient(155deg,transparent 52%,#0e83f1 52.2% 52.7%,transparent 52.9%),
 linear-gradient(135deg,transparent 62%,#18a86b 62.2% 62.6%,transparent 62.8%)}
.stock-footer>.container{position:relative;z-index:2}
.footer-market-strip{height:38px;display:flex;align-items:center;gap:10px;color:#8fe4bb;font-size:10px;font-weight:800;letter-spacing:.14em;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:34px}
.market-dot{width:7px;height:7px;border-radius:50%;background:#35d58b;box-shadow:0 0 0 5px rgba(53,213,139,.12)}
.market-line{height:1px;flex:1;background:linear-gradient(90deg,rgba(53,213,139,.5),transparent)}
.stock-footer .footer-grid{grid-template-columns:1.45fr .75fr .9fr 1.35fr}
.footer-brand{color:#fff!important}
.footer-logo{height:48px!important;width:auto!important}
.stock-footer .footer-intro{max-width:390px;color:#9db1c7}
.stock-footer h3{position:relative;margin:0 0 15px;color:#fff;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.stock-footer h3:after{content:"";display:block;width:28px;height:2px;margin-top:8px;background:linear-gradient(90deg,#18a86b,#0e83f1)}
.stock-footer ul{padding:0;margin:0;list-style:none}
.stock-footer li{margin:0}
.stock-footer a{color:#b8c8d9;transition:.2s ease}
.stock-footer a:hover{color:#fff;transform:translateX(2px)}
.footer-quick-links li a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.055);font-size:13px}
.footer-quick-links li a b{color:#43d893;font-size:15px;font-weight:500}
.footer-contact-row{display:flex;flex-wrap:wrap;gap:22px;padding:22px 0;margin-top:30px;border-top:1px solid rgba(255,255,255,.09);color:#9db1c7;font-size:12px}
.footer-contact-row a{color:#b8c8d9}
.stock-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.09);padding-top:20px;color:#8297ae}
@media(max-width:850px){.stock-footer .footer-grid{grid-template-columns:1.3fr 1fr 1fr}.stock-footer .footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:650px){.stock-footer .footer-grid{grid-template-columns:1fr 1fr}.stock-footer .footer-grid>div:first-child{grid-column:1/-1}.footer-contact-row{gap:10px;flex-direction:column}.footer-market-strip span:last-child{display:none}}
