:root {
  --chn-primary: #0B3D63;
  --chn-primary-dark: #082C48;
  --chn-primary-light: #124A78;
  --chn-secondary: #4A5C6A;
  --chn-accent: #00A9E0;
  --chn-accent-dark: #0089B5;
  --chn-warm: #FF7A00;
  --chn-light: #F4F7FA;
  --chn-light-alt: #E9EEF3;
  --chn-dark: #12202C;
  --chn-text: #2B3A45;
  --chn-border: #DDE5EB;
  --chn-font-heading: 'Poppins', 'Segoe UI', Arial, sans-serif;
  --chn-font-body: 'Inter', 'Segoe UI', Arial, sans-serif;
}
body { font-family: var(--chn-font-body); color: var(--chn-text); background-color:#fff; line-height:1.65; }
h1,h2,h3,h4,h5,h6,.font-heading { font-family: var(--chn-font-heading); color: var(--chn-primary); font-weight:600; }
a { color: var(--chn-accent); text-decoration:none; }
a:hover { color: var(--chn-accent-dark); }
.text-accent { color: var(--chn-accent) !important; }
.text-warm { color: var(--chn-warm) !important; }
.bg-primary-navy { background-color: var(--chn-primary) !important; }
.bg-primary-dark { background-color: var(--chn-primary-dark) !important; }
.bg-light-alt { background-color: var(--chn-light-alt) !important; }
.btn-chn-primary { background-color: var(--chn-accent); border-color: var(--chn-accent); color:#fff; font-weight:600; padding:.65rem 1.6rem; border-radius:4px; transition:all .2s ease-in-out; }
.btn-chn-primary:hover { background-color: var(--chn-accent-dark); border-color: var(--chn-accent-dark); color:#fff; transform:translateY(-1px); }
.btn-chn-outline { border:2px solid #fff; color:#fff; font-weight:600; padding:.6rem 1.5rem; border-radius:4px; transition:all .2s ease-in-out; }
.btn-chn-outline:hover { background-color:#fff; color:var(--chn-primary); }
.btn-chn-navy { background-color: var(--chn-primary); border-color: var(--chn-primary); color:#fff; font-weight:600; border-radius:4px; }
.btn-chn-navy:hover { background-color: var(--chn-primary-dark); border-color: var(--chn-primary-dark); color:#fff; }
.chn-topbar { background-color: var(--chn-primary-dark); color:#cfe3ef; font-size:.85rem; padding:6px 0; }
.chn-topbar a { color:#cfe3ef; }
.chn-topbar a:hover { color:#fff; }
.chn-navbar { background-color:#fff; box-shadow:0 2px 10px rgba(11,61,99,0.08); padding-top:.6rem; padding-bottom:.6rem; }
.chn-navbar .navbar-brand img { height:52px; }
.chn-navbar .nav-link { color:var(--chn-primary); font-weight:500; padding:.5rem 1rem !important; }
.chn-navbar .nav-link:hover, .chn-navbar .nav-link.active { color:var(--chn-accent); }
.chn-navbar .dropdown-menu { border:none; box-shadow:0 8px 24px rgba(11,61,99,0.15); border-radius:6px; }
.chn-navbar .dropdown-item:hover { background-color:var(--chn-light-alt); color:var(--chn-primary); }
.chn-hero { background: linear-gradient(120deg, var(--chn-primary) 0%, var(--chn-primary-dark) 60%, #051826 100%); color:#fff; padding:100px 0 90px; position:relative; overflow:hidden; }
.chn-hero::after { content:""; position:absolute; inset:0; background-image: radial-gradient(circle at 80% 20%, rgba(0,169,224,0.25), transparent 45%); }
.chn-hero h1 { color:#fff; font-size:2.75rem; }
.chn-hero .lead { color:#cfe3ef; font-size:1.2rem; }
.chn-hero-sub { padding:60px 0; color:#fff; background: linear-gradient(120deg, var(--chn-primary) 0%, var(--chn-primary-dark) 100%); }
.chn-hero-sub h1 { color:#fff; }
.chn-section { padding:80px 0; }
.chn-section-sm { padding:50px 0; }
.chn-eyebrow { text-transform:uppercase; letter-spacing:1.5px; color:var(--chn-accent); font-weight:700; font-size:.85rem; }
.chn-card { background:#fff; border:1px solid var(--chn-border); border-radius:8px; padding:2rem 1.6rem; height:100%; transition:all .25s ease-in-out; }
.chn-card:hover { transform:translateY(-4px); box-shadow:0 12px 30px rgba(11,61,99,0.12); border-color:var(--chn-accent); }
.chn-card .chn-icon { width:56px; height:56px; display:flex; align-items:center; justify-content:center; background-color:var(--chn-light-alt); color:var(--chn-accent); border-radius:8px; font-size:1.6rem; margin-bottom:1rem; }
.chn-stat { font-family: var(--chn-font-heading); font-size:2.4rem; font-weight:700; color:var(--chn-primary); }
.chn-stat-label { color:var(--chn-secondary); font-size:.95rem; }
.chn-logo-strip { filter:grayscale(100%); opacity:.7; transition:all .2s; }
.chn-logo-strip:hover { filter:grayscale(0%); opacity:1; }
.chn-partner-box { background:#fff; border:1px solid var(--chn-border); border-radius:6px; padding:1.2rem 1rem; text-align:center; font-weight:700; color:var(--chn-primary); height:100%; display:flex; align-items:center; justify-content:center; }
.chn-testimonial { background:var(--chn-light-alt); border-left:4px solid var(--chn-accent); border-radius:6px; padding:1.8rem; height:100%; }
.chn-timeline { border-left:3px solid var(--chn-accent); padding-left:1.5rem; }
.chn-timeline .chn-timeline-item { position:relative; padding-bottom:2rem; }
.chn-timeline .chn-timeline-item::before { content:""; position:absolute; left:-1.95rem; top:4px; width:14px; height:14px; border-radius:50%; background:var(--chn-accent); border:3px solid #fff; box-shadow:0 0 0 2px var(--chn-accent); }
.chn-footer { background-color:var(--chn-dark); color:#b9c6cf; padding-top:60px; }
.chn-footer h5 { color:#fff; font-size:1rem; letter-spacing:.5px; }
.chn-footer a { color:#b9c6cf; }
.chn-footer a:hover { color:var(--chn-accent); }
.chn-footer .footer-bottom { border-top:1px solid #23343f; margin-top:40px; padding:20px 0; font-size:.85rem; }
.chn-social a { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:#1c2e3a; color:#fff; margin-right:8px; }
.chn-social a:hover { background:var(--chn-accent); }
.chn-form-card { background:#fff; border-radius:10px; box-shadow:0 10px 40px rgba(11,61,99,0.12); padding:2.2rem; }
.form-label { font-weight:600; color:var(--chn-primary); }
.form-control:focus, .form-select:focus { border-color:var(--chn-accent); box-shadow:0 0 0 .2rem rgba(0,169,224,0.15); }
.chn-badge { background:var(--chn-light-alt); color:var(--chn-primary); font-weight:600; padding:.4rem .9rem; border-radius:20px; font-size:.8rem; display:inline-block; }
.chn-page-header { background:var(--chn-light-alt); padding:25px 0; border-bottom:1px solid var(--chn-border); }
#chn-back-to-top { position:fixed; right:24px; bottom:24px; z-index:1040; width:46px; height:46px; border-radius:50%; background:var(--chn-primary); color:#fff; border:none; display:none; align-items:center; justify-content:center; font-size:1.2rem; box-shadow:0 6px 18px rgba(0,0,0,0.25); }
#chn-back-to-top:hover { background:var(--chn-accent); }
.chn-float-stack { position:fixed; right:24px; bottom:84px; z-index:1040; display:flex; flex-direction:column; gap:12px; }
.chn-float-btn { width:52px; height:52px; border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.4rem; box-shadow:0 6px 18px rgba(0,0,0,0.25); border:none; }
.chn-float-btn.teams { background-color:#464EB8; }
.chn-float-btn.teams:hover { background-color:#383fa0; color:#fff; }
.chn-post-card img { border-radius:8px 8px 0 0; height:200px; object-fit:cover; width:100%; }
.chn-post-meta { font-size:.82rem; color:var(--chn-secondary); }
.chn-job { border:1px solid var(--chn-border); border-radius:8px; padding:1.4rem 1.6rem; margin-bottom:1rem; }
.chn-job:hover { border-color:var(--chn-accent); }
.chn-divider { width:60px; height:4px; background:var(--chn-accent); border-radius:2px; margin:14px 0 24px; }
.section-title-center .chn-divider { margin-left:auto; margin-right:auto; }
.chn-map iframe { width:100%; height:380px; border:0; border-radius:8px; }
@media (max-width:991px) { .chn-hero { padding:70px 0 60px; } .chn-hero h1 { font-size:2.1rem; } }
