:root{
  --navy:#0a2540;
  --navy-700:#0d2f54;
  --blue:#1763d6;
  --blue-600:#155ec0;
  --accent:#f5a623;
  --accent-600:#e0950f;
  --teal:#13b6a6;
  --ink:#16263a;
  --muted:#5c6b7a;
  --line:#e6ebf1;
  --bg-soft:#f5f8fc;
  --radius:16px;
  --shadow-sm:0 4px 14px rgba(10,37,64,.06);
  --shadow:0 18px 44px rgba(10,37,64,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);line-height:1.65;background:#fff;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6,.navbar-brand{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;color:var(--navy);letter-spacing:-.01em}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--blue-600)}
img{max-width:100%;height:auto}
.section{padding:84px 0}
.section-soft{background:var(--bg-soft)}
.section-navy{background:var(--navy);color:#dce6f2}
.section-navy h1,.section-navy h2,.section-navy h3{color:#fff}
.lead-muted{color:var(--muted);font-size:1.06rem}
.eyebrow{display:inline-block;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;color:var(--blue);margin-bottom:.6rem}
.section-navy .eyebrow{color:var(--accent)}
.skip-link{position:absolute;top:0;left:0;background:var(--navy);color:#fff;padding:.5rem 1rem;z-index:2000}

/* Buttons */
.btn{border-radius:50px;font-weight:600;padding:.62rem 1.5rem}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#1a1206}
.btn-accent:hover{background:var(--accent-600);border-color:var(--accent-600);color:#1a1206}
.btn-primary{background:var(--blue);border-color:var(--blue)}
.btn-primary:hover{background:var(--blue-600);border-color:var(--blue-600)}
.btn-outline-light{border-width:2px}
.btn-lg{padding:.85rem 2rem}

/* Header */
.topbar{background:var(--navy);color:#aebfd4;font-size:.86rem;padding:.4rem 0}
.topbar a{color:#cdd9ea;margin-right:1.2rem}
.topbar a:hover{color:#fff}
.topbar-links a{margin-right:0;margin-left:1.2rem}
.site-header{position:sticky;top:0;z-index:1030}
.main-nav{background:#fff;box-shadow:var(--shadow-sm);padding:.6rem 0}
.main-nav .nav-link{color:var(--navy);font-weight:600;padding:.5rem .9rem;border-radius:8px}
.main-nav .nav-link:hover,.main-nav .nav-link.active{color:var(--blue)}
.main-nav .dropdown-menu{border:0;box-shadow:var(--shadow);border-radius:12px;padding:.5rem}
.main-nav .dropdown-item{border-radius:8px;font-weight:500;padding:.5rem .8rem}
.main-nav .dropdown-item:hover{background:var(--bg-soft);color:var(--blue)}

/* Hero */
.hero{position:relative;background:linear-gradient(135deg,#0a2540 0%,#123a68 45%,#1763d6 100%);color:#fff;overflow:hidden;padding:96px 0 110px}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 80% -10%,rgba(245,166,35,.18),transparent 60%);pointer-events:none}
.hero h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.08}
.hero p.lead{color:#cfdcec;font-size:1.18rem;max-width:34rem}
.hero .badge-soft{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:50px;padding:.45rem 1rem;font-weight:600;font-size:.85rem}
.hero-stats{display:flex;gap:2rem;flex-wrap:wrap;margin-top:2rem}
.hero-stats .num{font-size:2rem;font-weight:800;color:#fff;font-family:'Plus Jakarta Sans',sans-serif}
.hero-stats .lbl{color:#aebfd4;font-size:.85rem}

/* Resume widget */
.resume-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.8rem;color:var(--ink)}
.resume-card h3{font-size:1.3rem}
.resume-card .form-label{font-weight:600;font-size:.85rem;color:var(--navy)}
.resume-card .form-control,.resume-card .form-select{border-radius:10px;border-color:var(--line);padding:.7rem .9rem}
.resume-card .form-control:focus{border-color:var(--blue);box-shadow:0 0 0 .2rem rgba(23,99,214,.15)}
.dropzone{border:2px dashed #c4d2e3;border-radius:12px;padding:1.3rem;text-align:center;cursor:pointer;transition:.2s;background:var(--bg-soft)}
.dropzone:hover,.dropzone.dragover{border-color:var(--blue);background:#eef4fd}
.dropzone i{font-size:1.6rem;color:var(--blue)}
.dropzone .file-name{font-weight:600;color:var(--navy)}

/* Cards */
.feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;height:100%;transition:.25s;box-shadow:var(--shadow-sm)}
.feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.feature-icon{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-size:1.5rem;background:#eaf2ff;color:var(--blue);margin-bottom:1rem}
.feature-card h4{font-size:1.18rem}
.feature-card p{color:var(--muted);margin-bottom:0}

.industry-pill{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--line);border-radius:50px;padding:.7rem 1.2rem;font-weight:600;color:var(--navy);box-shadow:var(--shadow-sm)}
.industry-pill i{color:var(--blue)}

/* Stats band */
.stat-band{background:var(--navy);color:#fff;border-radius:var(--radius)}
.stat-band .num{font-size:2.6rem;font-weight:800;color:var(--accent);font-family:'Plus Jakarta Sans',sans-serif}
.stat-band .lbl{color:#bcccdf}

/* Page hero (inner pages) */
.page-hero{background:linear-gradient(135deg,#0a2540,#123a68);color:#fff;padding:70px 0 64px;position:relative}
.page-hero h1{color:#fff;font-size:clamp(1.9rem,3.6vw,2.8rem)}
.page-hero p{color:#cfdcec;max-width:42rem;margin:0 auto}
.breadcrumb-wrap{background:var(--bg-soft);border-bottom:1px solid var(--line)}
.breadcrumb{margin:0;padding:.8rem 0;font-size:.9rem}
.breadcrumb a{color:var(--muted)}
.breadcrumb .active{color:var(--navy)}

/* Step / process */
.step{position:relative;padding-left:64px;margin-bottom:1.8rem}
.step .step-num{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:12px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700;font-family:'Plus Jakarta Sans',sans-serif}
.step h5{margin-bottom:.3rem}
.step p{color:var(--muted);margin:0}

/* Testimonials */
.quote-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;height:100%;box-shadow:var(--shadow-sm)}
.quote-card .bi-quote{font-size:2.4rem;color:var(--accent);line-height:1}
.quote-card .author{font-weight:700;color:var(--navy)}
.quote-card .role{color:var(--muted);font-size:.88rem}

/* Blog */
.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;height:100%;transition:.25s;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.blog-card .thumb{aspect-ratio:16/9;object-fit:cover;width:100%}
.blog-card .body{padding:1.3rem;display:flex;flex-direction:column;flex:1}
.blog-card .cat{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--blue)}
.blog-card h4{font-size:1.12rem;margin:.4rem 0 .5rem}
.blog-card .meta{font-size:.82rem;color:var(--muted);margin-top:auto}
.featured-post{position:relative;border-radius:var(--radius);overflow:hidden;min-height:380px;display:flex;align-items:flex-end;color:#fff}
.featured-post img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.featured-post .overlay{position:relative;width:100%;padding:2rem;background:linear-gradient(to top,rgba(10,37,64,.92),rgba(10,37,64,.15))}
.featured-post h2{color:#fff}

/* Article */
.article-body{font-size:1.07rem;color:#2a3b4d}
.article-body h2{margin:2rem 0 .8rem;font-size:1.6rem}
.article-body h3{margin:1.6rem 0 .6rem;font-size:1.28rem}
.article-body p{margin-bottom:1.1rem}
.article-body ul,.article-body ol{margin-bottom:1.1rem;padding-left:1.3rem}
.article-body li{margin-bottom:.4rem}
.article-body img{border-radius:12px;margin:1.4rem 0;box-shadow:var(--shadow-sm)}
.article-body blockquote{border-left:4px solid var(--accent);background:var(--bg-soft);padding:1rem 1.3rem;border-radius:0 10px 10px 0;color:var(--navy);font-style:italic}
.article-hero{aspect-ratio:21/9;object-fit:cover;width:100%;border-radius:var(--radius)}
.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}
.sidebar-card h5{font-size:1.05rem;margin-bottom:1rem}
.toc-cta{background:var(--navy);color:#fff;border-radius:var(--radius);padding:1.6rem;text-align:center}
.toc-cta h5{color:#fff}

/* FAQ / accordion */
.accordion-button{font-weight:600;color:var(--navy)}
.accordion-button:not(.collapsed){background:#eaf2ff;color:var(--blue)}
.accordion-button:focus{box-shadow:none}
.accordion-item{border-color:var(--line);border-radius:12px!important;margin-bottom:.8rem;overflow:hidden}

/* Tables */
.table-salary thead th{background:var(--navy);color:#fff}
.table-salary tbody tr:nth-child(even){background:var(--bg-soft)}

/* CTA band */
.cta-band{background:linear-gradient(135deg,var(--blue),#0a2540);color:#fff;border-radius:var(--radius);padding:3rem;text-align:center}
.cta-band h2{color:#fff}

/* Footer */
.site-footer{background:var(--navy);color:#aebfd4;padding:64px 0 0}
.site-footer h6{color:#fff;font-weight:700;margin-bottom:1.1rem;text-transform:uppercase;font-size:.8rem;letter-spacing:.1em}
.footer-logo{height:70px;width:auto;max-width:350px}
.footer-about{color:#9fb1c7;font-size:.92rem}
.footer-links,.footer-contact,.footer-legal{list-style:none;padding:0;margin:0}
.footer-links li,.footer-contact li{margin-bottom:.6rem}
.footer-links a{color:#aebfd4}
.footer-links a:hover{color:#fff}
.footer-contact li{color:#9fb1c7}
.footer-contact i{color:var(--accent);margin-right:.5rem}
.social-links{margin-top:1.2rem;display:flex;gap:.7rem}
.social-links a{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff}
.social-links a:hover{background:var(--accent);color:#1a1206}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding:1.2rem 0;font-size:.86rem}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{color:#aebfd4}

/* Back to top */
.back-to-top{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;border:0;background:var(--blue);color:#fff;font-size:1.1rem;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.3s;z-index:1040}
.back-to-top.show{opacity:1;visibility:visible}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* Form feedback */
.form-note{font-size:.84rem;color:var(--muted)}
.alert-inline{display:none}

@media (max-width:991px){
  .section{padding:60px 0}
  .hero{padding:64px 0 72px}
  .main-nav .navbar-nav{padding-top:.8rem}
  .main-nav .btn-accent{margin-top:.6rem}
}
