:root{--accent:#3457d5;--amber:#D97706}

.nav-link{position:relative}
.nav-link::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--accent);border-radius:2px;transition:width .3s ease}
.nav-link:hover::after{width:100%}
.nav-link[aria-current="page"]{color:#0b1220}
.nav-link[aria-current="page"]::after{width:100%}

.btn-shine{position:relative;overflow:hidden}
.btn-shine::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:shine 3.5s ease-in-out infinite}
@keyframes shine{0%{left:-80%}60%,100%{left:130%}}

.softpulse{animation:softpulse 2.2s ease-in-out infinite}
@keyframes softpulse{0%,100%{opacity:1}50%{opacity:.35}}

@media (prefers-reduced-motion:reduce){.btn-shine::after{animation:none}.softpulse{animation:none}}

/* ---- Content article typography ---- */
.article{font-size:.9375rem;line-height:1.75;color:#57607A}
.article h2{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:1.5rem;line-height:1.3;font-weight:800;color:#0B1220;letter-spacing:-.01em;margin:2.5rem 0 .8rem}
.article h3{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:1.125rem;line-height:1.4;font-weight:700;color:#0B1220;margin:1.75rem 0 .5rem}
.article h2:first-child,.article h3:first-child{margin-top:0}
.article p{margin:0 0 1rem}
.article a{color:#3457D5;font-weight:600;text-decoration:underline;text-decoration-color:#B7C5F5;text-underline-offset:2px}
.article a:hover{color:#2B49B8}
.article strong{color:#0B1220;font-weight:600}
.article ul,.article ol{margin:0 0 1.25rem;padding-left:1.4rem}
.article ul{list-style:disc}
.article ol{list-style:decimal}
.article ul.checklist{list-style:none;padding-left:0}
.article ul.checklist li{position:relative;padding-left:1.6rem;margin-bottom:.4rem}
.article ul.checklist li::before{content:"\2713";position:absolute;left:0;color:#047857;font-weight:700}
.article li{margin-bottom:.4rem}
.article li::marker{color:#3457D5;font-weight:700}
.article table{width:100%;border-collapse:collapse;margin:0 0 1.5rem;font-size:.875rem;line-height:1.55}
.article th{background:#E9EDFC;color:#0B1220;text-align:left;font-weight:700;padding:.7rem .8rem;border:1px solid #D9E0F0}
.article td{padding:.7rem .8rem;border:1px solid #E4E8F2;color:#57607A;vertical-align:top}
.article blockquote{border-left:3px solid #3457D5;background:#F6F7FB;padding:.9rem 1.1rem;margin:0 0 1.25rem;border-radius:0 .8rem .8rem 0;color:#57607A}
.article hr{border:none;border-top:1px solid #E4E8F2;margin:2rem 0}

/* ---- Breadcrumb ---- */
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.75rem;color:#8A93A6;margin:0 0 1rem}
.breadcrumb a{color:#3457D5;font-weight:600;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline;text-underline-offset:2px}
.breadcrumb .sep{color:#C4CBD9}
.breadcrumb .current{color:#57607A;font-weight:500}

/* ---- Utilities missing from the root Tailwind scan (used in /blog and /csit) ---- */
.pb-12{padding-bottom:3rem}
@media (min-width:1024px){.lg\:pb-16{padding-bottom:4rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}}
.group:hover .group-hover\:underline{text-decoration:underline}
.font-normal{font-weight:400}

/* ---- TOC ---- */
.toc{background:#fff;border:1px solid #E4E8F2;border-radius:1rem;padding:1.25rem 1.5rem;margin:0 0 2rem;box-shadow:0 1px 2px rgba(11,18,32,.04)}
.toc-title{font-family:JetBrains Mono,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#57607A;margin-bottom:.6rem}
.toc a{display:block;padding:.28rem 0;color:#57607A;font-size:.875rem;font-weight:500;text-decoration:none}
.toc a:hover{color:#3457D5}
.toc a::before{content:"→ ";color:#3457D5}

/* ---- Callouts ---- */
.callout{background:#F6F7FB;border:1px solid #E4E8F2;border-radius:.9rem;padding:1.1rem 1.25rem;margin:1.5rem 0;font-size:.9rem;line-height:1.65;color:#57607A}
.callout.amber{background:#FFFBEB;border-color:#FDE68A}
.callout.rose{background:#FFF1F2;border-color:#FECDD3}
.callout.emerald{background:#ECFDF5;border-color:#A7F3D0}
.callout .ct-label{font-family:JetBrains Mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;display:block;margin-bottom:.35rem}
.callout.amber .ct-label{color:#B45309}
.callout.rose .ct-label{color:#BE123C}
.callout.emerald .ct-label{color:#047857}

/* ---- Content cards ---- */
.card{background:#fff;border:1px solid #E4E8F2;border-radius:1rem;padding:1.25rem 1.5rem;box-shadow:0 1px 2px rgba(11,18,32,.04)}
.overflow-x-auto{overflow-x:auto;-webkit-overflow-scrolling:touch}
.card.blog-featured{background:#FFFBEB;border-color:#FDE68A;grid-column:1/-1;box-shadow:0 0 0 1px rgba(245,158,11,.15),0 16px 32px -14px rgba(11,18,32,.12)}
@media (max-width:639px){.card.blog-featured{grid-column:auto}}

/* ---- Answer key ---- */
.qa{background:#fff;border:1px solid #E4E8F2;border-radius:1rem;padding:1.1rem 1.25rem;margin-bottom:.9rem}
.qa{content-visibility:auto;contain-intrinsic-size:auto 220px}
.answer-grid .col{content-visibility:auto;contain-intrinsic-size:auto 200px}
.qa .qnum{font-family:JetBrains Mono,monospace;font-weight:700;color:#3457D5;margin-right:.4rem}
.qa .qtext{font-weight:600;color:#0B1220}
.qa .opts{color:#57607A;font-size:.9rem;margin-top:.45rem;line-height:1.75}
.qa .opts b{color:#0B1220}
.qa .ans{margin-top:.6rem;font-size:.9rem}
.qa .ans-badge{display:inline-block;background:#ECFDF5;border:1px solid #A7F3D0;color:#047857;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700;padding:.22rem .6rem;border-radius:.5rem;margin-right:.5rem;white-space:nowrap}
.qa .exp{margin-top:.6rem;font-size:.875rem;line-height:1.75;color:#57607A}
.qa .exp b{color:#0B1220}
.qa .exp .math{font-family:JetBrains Mono,monospace;background:#F6F7FB;border:1px solid #E4E8F2;border-radius:.4rem;padding:.08rem .45rem;font-size:.8rem;white-space:nowrap}

/* ---- Worked-example answer reveal ---- */
.exp-reveal{margin-top:.7rem;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#3457D5;background:#EFF4FF;border:1px solid #C7D5F5;border-radius:.5rem;padding:.35rem .8rem;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.exp-reveal:hover{background:#E2EAFD}
.exp-reveal[aria-expanded="true"]{background:#ECFDF5;border-color:#A7F3D0;color:#047857}

/* ---- Practice CTAs ---- */
.practice-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1rem 0 1.4rem;background:linear-gradient(135deg,#EFF4FF,#E4EDFF);border:1px solid #C7D5F5;border-radius:.9rem;padding:.85rem 1.15rem;font-size:.9rem;color:#2A3550;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.practice-cta:hover{border-color:#93B4FF;box-shadow:0 6px 18px -8px rgba(52,87,213,.25);transform:translateY(-1px)}
.practice-cta .pc-text{display:flex;align-items:center;gap:.6rem;font-weight:600}
.practice-cta .pc-arrow{color:#3457D5;font-family:JetBrains Mono,monospace;font-weight:700;font-size:1.05rem}

.practice-banner{margin-top:2rem;background:linear-gradient(135deg,#0B1220,#152241);border-radius:1.25rem;padding:1.75rem 1.5rem;color:#fff;text-align:center}
.practice-banner-title{font-family:Inter,sans-serif;font-weight:800;font-size:1.25rem;margin-bottom:.5rem}
.practice-banner-text{color:#C3CBE2;font-size:.9rem;line-height:1.6;margin-bottom:1.1rem}
.practice-banner-btn{display:inline-flex;align-items:center;gap:.5rem;background:#D97706;color:#fff;font-weight:700;font-size:.9rem;padding:.65rem 1.3rem;border-radius:.65rem;transition:background .2s ease,transform .2s ease}
.practice-banner-btn:hover{background:#C26A03;transform:translateY(-1px)}

/* ---- Sticky mobile practice banner ---- */
.cta-banner{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(11,18,32,.98);color:#fff;padding:.7rem 1rem;box-shadow:0 -6px 24px rgba(11,18,32,.28)}
.cta-banner.dismissed{display:none !important}
.cta-banner-inner{max-width:560px;margin:0 auto;display:flex;align-items:center;gap:.75rem}
.cta-banner-text{flex:1;line-height:1.3;min-width:0}
.cta-banner-title{display:block;font-weight:700;font-size:.9rem}
.cta-banner-sub{display:block;font-size:.75rem;color:#C3CBE2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cta-banner-btn{flex-shrink:0;background:#D97706;color:#fff;font-weight:700;font-size:.85rem;padding:.55rem .95rem;border-radius:.6rem;white-space:nowrap;transition:background .2s ease}
.cta-banner-btn:hover{background:#C26A03}
.cta-banner-close{flex-shrink:0;background:none;border:none;color:#8A93AE;font-size:1.1rem;cursor:pointer;padding:.25rem .35rem;line-height:1}
.cta-banner-close:hover{color:#fff}
@media (max-width:767px){.cta-banner{display:block}}
@media (min-width:768px){.cta-banner{display:none !important}}
.section-label{font-family:JetBrains Mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:#3457D5;margin-bottom:.4rem}
.answer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}
@media (max-width:900px){.answer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.answer-grid{grid-template-columns:1fr}}
.answer-grid .col{background:#fff;border:1px solid #E4E8F2;border-radius:1rem;padding:1rem 1.1rem;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.9;color:#57607A}
.answer-grid .col b{color:#0B1220}
.answer-grid .col .col-title{font-family:JetBrains Mono,monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#3457D5;display:block;margin-bottom:.5rem;border-bottom:1px solid #E4E8F2;padding-bottom:.5rem}

/* ---- FAQ ---- */
.faq-trigger i{transition:transform .3s ease}
.faq-item.open .faq-trigger i{transform:rotate(180deg)}

/* ---- Quick answer (AI / answer-first) ---- */
.answer-box{background:#EFF4FF;border:1px solid #C7D5F5;border-left:4px solid var(--accent);border-radius:.9rem;padding:1.1rem 1.25rem;margin:1.5rem 0;font-size:.925rem;line-height:1.7;color:#2A3550}
.answer-box .ab-label{font-family:JetBrains Mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--accent);display:block;margin-bottom:.4rem}
.answer-box p:last-child{margin-bottom:0}
.answer-box a{color:#3457D5;font-weight:600;text-decoration:underline}

/* ---- Related guides / posts ---- */
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.related-grid .card{margin:0;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.related-grid .card:hover{border-color:#C7D5F5;box-shadow:0 8px 24px -10px rgba(52,87,213,.18);transform:translateY(-2px)}
.related-grid h3{font-family:Inter,sans-serif;font-weight:700;font-size:1rem;line-height:1.35}
.related-grid .card h3 a{color:#0B1220}
.related-grid .card:hover h3{color:var(--accent);text-decoration:underline}
.related-grid .card p{color:#57607A}

/* ---- Countdown (Nepal Time) ---- */
.countdown{background:linear-gradient(135deg,#101C33,#152241);border:1px solid #2A3550;border-radius:1rem;padding:1.25rem 1.5rem;margin:1.25rem 0;color:#fff}
.countdown-title{font-family:JetBrains Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#93B4FF;margin-bottom:.85rem;display:flex;align-items:center;gap:.5rem}
.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.cd-unit{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:.7rem;padding:.7rem .4rem;text-align:center}
.cd-num{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;line-height:1.1;display:block;font-variant-numeric:tabular-nums}
.cd-lbl{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:#AEB6CF;margin-top:.25rem;display:block}
.countdown-note{font-size:.8rem;color:#C3CBE2;margin-top:.85rem}
@media (max-width:380px){.countdown-grid{grid-template-columns:repeat(2,1fr)}.countdown{padding:1rem 1.1rem}}

/* ---- Circular pulse on hero CTA ---- */
.cta-ping{position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.4),0 0 12px 0 rgba(52,87,213,.5),0 10px 24px -8px rgba(11,18,32,.35);animation:cta-pulse 2.8s ease-in-out infinite}
@keyframes cta-pulse{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.4),0 0 10px 0 rgba(52,87,213,.35),0 10px 24px -8px rgba(11,18,32,.35)}50%{box-shadow:0 0 0 1px rgba(255,255,255,.6),0 0 26px 3px rgba(52,87,213,.6),0 10px 24px -8px rgba(11,18,32,.35)}}


