
/*
  HN Solutions redesign
  Built from the Nestwave/BizLand sample structure supplied by the site owner.
  Original template foundation: BootstrapMade BizLand.
*/
:root {
  --hn-navy: #0b274b;
  --hn-navy-2: #143a68;
  --hn-blue: #1769e0;
  --hn-blue-2: #2d7cf0;
  --hn-sky: #38bdf8;
  --hn-teal: #0b8f87;
  --hn-ice: #eef6ff;
  --hn-ice-2: #f6faff;
  --hn-line: #d8e4f2;
  --hn-text: #0d2340;
  --hn-muted: #64748b;
  --hn-white: #ffffff;
  --hn-shadow: 0 18px 50px rgba(11, 39, 75, .12);
  --hn-radius: 22px;
  --default-font: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --heading-font: "Montserrat", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--default-font);
  color: var(--hn-text);
  background: var(--hn-white);
  line-height: 1.65;
}
img { max-width: 100%; display: block; }
a { color: var(--hn-blue); text-decoration: none; transition: .2s ease; }
a:hover { color: var(--hn-navy); }
h1,h2,h3,h4,h5,h6 { font-family: var(--heading-font); color: var(--hn-text); font-weight: 800; letter-spacing: -.025em; }

/* Header */
.hn-topbar {
  background: var(--hn-navy);
  color: rgba(255,255,255,.86);
  font-size: .88rem;
}
.hn-topbar .container { min-height: 38px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.hn-topbar a { color: white; font-weight: 700; }
.hn-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(216,228,242,.85);
}
.hn-branding { min-height: 78px; display:flex; align-items:center; }
.hn-brand {
  display:flex; align-items:center; gap:12px; color: var(--hn-text);
}
.hn-brand:hover { color: var(--hn-text); }
.hn-mark {
  width: 44px; height:44px; border-radius:13px;
  display:grid; place-items:center;
  color:#fff; font-family:var(--heading-font); font-weight:900; letter-spacing:-.03em;
  background: linear-gradient(145deg, var(--hn-navy), var(--hn-blue));
  box-shadow: 0 10px 24px rgba(23,105,224,.24);
}
.hn-brand-text strong { display:block; font-size:1rem; line-height:1.1; }
.hn-brand-text span { display:block; color:var(--hn-muted); font-size:.72rem; margin-top:4px; }

.navmenu ul { margin:0; padding:0; display:flex; list-style:none; align-items:center; gap:8px; }
.navmenu li { position:relative; }
.navmenu a { display:flex; align-items:center; gap:5px; padding:12px 12px; color:var(--hn-text); font-weight:700; font-size:.92rem; }
.navmenu a:hover, .navmenu .active { color: var(--hn-blue); }
.navmenu .dropdown ul {
  position:absolute; left:0; top:calc(100% + 8px); display:block; min-width:245px;
  background:#fff; padding:10px; border:1px solid var(--hn-line); border-radius:16px;
  opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s ease; box-shadow:var(--hn-shadow);
}
.navmenu .dropdown:hover > ul { opacity:1; visibility:visible; transform:none; }
.navmenu .dropdown ul a { padding:10px 12px; border-radius:10px; font-size:.88rem; }
.navmenu .dropdown ul a:hover { background:var(--hn-ice); }
.mobile-nav-toggle { display:none; font-size:28px; cursor:pointer; color:var(--hn-navy); }
.hn-nav-cta { background:var(--hn-blue); color:#fff !important; border-radius:12px; padding:11px 16px !important; margin-left:6px; box-shadow:0 8px 22px rgba(23,105,224,.18); }
.hn-nav-cta:hover { background:var(--hn-navy); color:#fff !important; }

/* Hero */
.hn-hero {
  position:relative; min-height:680px; display:flex; align-items:center; overflow:hidden; isolation:isolate;
  background: var(--hn-navy);
}
.hn-hero-media, .hn-hero-media video, .hn-hero-media::after { position:absolute; inset:0; width:100%; height:100%; }
.hn-hero-media video { object-fit:cover; }
.hn-hero-media::after { content:""; background:linear-gradient(90deg, rgba(4,25,53,.95) 0%, rgba(7,38,72,.82) 48%, rgba(7,38,72,.48) 100%); }
.hn-hero .container { position:relative; z-index:2; }
.hn-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; background:rgba(56,189,248,.13); border:1px solid rgba(56,189,248,.35); color:#dff6ff; font-weight:800; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; }
.hn-hero h1 { color:#fff; font-size:clamp(2.7rem, 5vw, 5.2rem); line-height:1.02; max-width:850px; margin:24px 0 20px; }
.hn-hero h1 span { color:#7dd3fc; }
.hn-hero .lead { color:rgba(255,255,255,.84); font-size:1.12rem; max-width:760px; margin-bottom:30px; }
.hn-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:12px; padding:13px 20px; font-weight:800; border:1px solid transparent; transition:.2s ease; }
.hn-btn-primary { background:var(--hn-blue); color:#fff; box-shadow:0 12px 28px rgba(23,105,224,.28); }
.hn-btn-primary:hover { background:#0f58c3; color:#fff; transform:translateY(-1px); }
.hn-btn-light { background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.28); color:#fff; }
.hn-btn-light:hover { background:#fff; color:var(--hn-navy); }
.hn-btn-outline { border-color:var(--hn-line); background:#fff; color:var(--hn-text); }
.hn-btn-outline:hover { border-color:var(--hn-blue); color:var(--hn-blue); }
.hn-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hn-hero-card {
  margin-left:auto; max-width:440px; background:rgba(7,32,63,.90); border:1px solid rgba(255,255,255,.14);
  border-radius:24px; padding:28px; box-shadow:0 30px 80px rgba(0,0,0,.30); color:#fff; backdrop-filter:blur(12px);
}
.hn-hero-card h2 { color:#fff; font-size:1.45rem; margin-bottom:8px; }
.hn-hero-card p { color:rgba(255,255,255,.72); font-size:.95rem; }
.hn-cap-row { display:flex; justify-content:space-between; gap:15px; align-items:center; padding:13px 14px; border-radius:12px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.10); margin-top:10px; font-weight:800; font-size:.88rem; }
.hn-cap-row span:last-child { color:#7dd3fc; text-align:right; font-size:.78rem; }

/* General sections */
.hn-section { padding:86px 0; }
.hn-section-soft { background:linear-gradient(180deg, var(--hn-ice-2), var(--hn-ice)); }
.hn-kicker { color:var(--hn-blue); font-weight:900; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px; }
.hn-section-title { font-size:clamp(2rem, 3vw, 3.2rem); line-height:1.08; margin:0 0 14px; }
.hn-section-copy { color:var(--hn-muted); max-width:760px; font-size:1.03rem; }
.hn-title-row { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:38px; }
.hn-title-row .hn-section-copy { margin:0; }

.hn-card {
  height:100%; background:#fff; border:1px solid var(--hn-line); border-radius:var(--hn-radius); padding:28px;
  box-shadow:0 12px 32px rgba(11,39,75,.06); transition:.25s ease;
}
.hn-card:hover { transform:translateY(-4px); box-shadow:var(--hn-shadow); border-color:#bed3ef; }
.hn-icon {
  width:48px; height:48px; display:grid; place-items:center; border-radius:14px; margin-bottom:18px;
  background:var(--hn-ice); color:var(--hn-blue); font-size:1.25rem; font-weight:900;
}
.hn-card h3 { font-size:1.18rem; margin-bottom:10px; }
.hn-card p { color:var(--hn-muted); margin-bottom:0; font-size:.95rem; }
.hn-card .learn { display:inline-flex; gap:6px; align-items:center; margin-top:18px; font-weight:800; font-size:.88rem; }

/* Proof */
.hn-proof { background:var(--hn-navy); color:#fff; }
.hn-proof h2, .hn-proof h3 { color:#fff; }
.hn-stat { padding:26px; border-radius:20px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.11); height:100%; }
.hn-stat strong { display:block; font-family:var(--heading-font); font-size:2.25rem; color:#7dd3fc; line-height:1; margin-bottom:9px; }
.hn-stat span { color:rgba(255,255,255,.76); font-size:.92rem; }

/* Portfolio */
.hn-project { background:#fff; border:1px solid var(--hn-line); border-radius:24px; overflow:hidden; height:100%; box-shadow:0 12px 32px rgba(11,39,75,.07); transition:.25s ease; }
.hn-project:hover { transform:translateY(-4px); box-shadow:var(--hn-shadow); }
.hn-project-media { position:relative; height:230px; overflow:hidden; background:var(--hn-ice); }
.hn-project-media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.hn-project:hover .hn-project-media img { transform:scale(1.035); }
.hn-project-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(5,27,54,.55)); }
.hn-project-badge { position:absolute; left:16px; bottom:15px; z-index:2; color:#fff; background:rgba(11,39,75,.85); border:1px solid rgba(255,255,255,.24); padding:6px 10px; border-radius:999px; font-weight:800; font-size:.72rem; }
.hn-project-body { padding:26px; }
.hn-project-body h3 { font-size:1.28rem; }
.hn-project-body p { color:var(--hn-muted); }
.hn-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; }
.hn-tag { padding:5px 9px; border-radius:999px; background:var(--hn-ice); color:var(--hn-navy); font-weight:800; font-size:.72rem; }
.hn-placeholder-note { font-size:.82rem; color:var(--hn-muted); margin-top:18px; }

/* Split and credentials */
.hn-split-panel { background:var(--hn-ice); border:1px solid #cfe0f2; border-radius:26px; padding:34px; height:100%; }
.hn-checks { list-style:none; padding:0; margin:22px 0 0; }
.hn-checks li { position:relative; padding-left:34px; margin:13px 0; font-weight:700; }
.hn-checks li::before { content:"✓"; position:absolute; left:0; top:0; width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:var(--hn-teal); color:#fff; font-size:.78rem; }
.hn-credential { border-left:4px solid var(--hn-blue); padding:8px 0 8px 20px; margin:20px 0; }
.hn-credential h3 { margin:0 0 3px; font-size:1.13rem; }
.hn-credential p { margin:0; color:var(--hn-muted); }
.hn-timeline { position:relative; padding-left:28px; }
.hn-timeline::before { content:""; position:absolute; left:7px; top:8px; bottom:8px; width:2px; background:#c9dced; }
.hn-timeline-item { position:relative; margin-bottom:32px; }
.hn-timeline-item::before { content:""; position:absolute; left:-27px; top:8px; width:14px; height:14px; border-radius:50%; background:var(--hn-blue); box-shadow:0 0 0 5px var(--hn-ice); }
.hn-timeline-item .date { color:var(--hn-blue); font-weight:900; font-size:.82rem; letter-spacing:.05em; text-transform:uppercase; }
.hn-timeline-item h3 { margin:5px 0 7px; }
.hn-timeline-item p, .hn-timeline-item li { color:var(--hn-muted); }
.hn-skills { display:flex; flex-wrap:wrap; gap:10px; }
.hn-skill { padding:8px 12px; border-radius:999px; background:#fff; border:1px solid var(--hn-line); color:var(--hn-navy); font-weight:800; font-size:.8rem; }

/* Interior hero */
.hn-page-hero { position:relative; overflow:hidden; background:linear-gradient(135deg, #edf6ff, #fff 55%, #e8f8fb); padding:86px 0 72px; border-bottom:1px solid var(--hn-line); }
.hn-page-hero::after { content:""; position:absolute; width:380px; height:380px; right:-110px; top:-160px; border-radius:50%; background:rgba(56,189,248,.18); filter:blur(2px); }
.hn-page-hero h1 { font-size:clamp(2.7rem, 5vw, 4.7rem); line-height:1.02; max-width:850px; }
.hn-page-hero p { max-width:760px; color:var(--hn-muted); font-size:1.08rem; }

/* Service detail blocks */
.hn-service-block { padding:34px 0; border-bottom:1px solid var(--hn-line); }
.hn-service-block:last-child { border-bottom:0; }
.hn-service-block h2 { font-size:2rem; }
.hn-service-meta { color:var(--hn-blue); font-weight:900; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.hn-list { margin:18px 0 0; padding-left:20px; color:var(--hn-muted); }
.hn-list li { margin:7px 0; }

/* Contact */
.hn-contact-card { background:var(--hn-navy); color:#fff; border-radius:28px; padding:38px; box-shadow:var(--hn-shadow); }
.hn-contact-card h2, .hn-contact-card h3 { color:#fff; }
.hn-contact-card p { color:rgba(255,255,255,.75); }
.hn-contact-card a { color:#7dd3fc; font-weight:800; }
.hn-form { background:#fff; border:1px solid var(--hn-line); border-radius:26px; padding:34px; box-shadow:0 12px 32px rgba(11,39,75,.06); }
.hn-field label { display:block; font-weight:800; margin-bottom:7px; font-size:.88rem; }
.hn-field input, .hn-field select, .hn-field textarea { width:100%; border:1px solid #cfdbea; border-radius:12px; padding:12px 13px; font:inherit; color:var(--hn-text); background:#fff; outline:none; transition:.2s; }
.hn-field input:focus, .hn-field select:focus, .hn-field textarea:focus { border-color:var(--hn-blue); box-shadow:0 0 0 4px rgba(23,105,224,.10); }
.hn-field textarea { min-height:140px; resize:vertical; }

/* CTA */
.hn-cta { padding:0 0 86px; }
.hn-cta-box { background:linear-gradient(135deg, var(--hn-navy), #16467b); border-radius:28px; padding:38px; color:#fff; display:flex; justify-content:space-between; align-items:center; gap:30px; box-shadow:var(--hn-shadow); }
.hn-cta-box h2 { color:#fff; margin-bottom:8px; }
.hn-cta-box p { color:rgba(255,255,255,.74); margin:0; max-width:730px; }

/* Footer */
.hn-footer { background:#071d39; color:rgba(255,255,255,.72); padding:54px 0 22px; }
.hn-footer h4 { color:#fff; font-size:1rem; }
.hn-footer a { color:rgba(255,255,255,.78); }
.hn-footer a:hover { color:#7dd3fc; }
.hn-footer .footer-links { list-style:none; padding:0; margin:0; }
.hn-footer .footer-links li { margin:7px 0; }
.hn-footer-bottom { border-top:1px solid rgba(255,255,255,.11); margin-top:36px; padding-top:20px; font-size:.82rem; display:flex; justify-content:space-between; gap:20px; }
.hn-footer .hn-mark { width:40px; height:40px; }
.scroll-top { position:fixed; right:18px; bottom:18px; width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:var(--hn-blue); color:#fff; opacity:0; visibility:hidden; z-index:998; }
.scroll-top.active { opacity:1; visibility:visible; }

/* Responsive */
@media (max-width: 1199px) {
  .mobile-nav-toggle { display:block; }
  .navmenu ul { display:none; position:absolute; top:78px; left:16px; right:16px; background:#fff; border:1px solid var(--hn-line); border-radius:18px; padding:12px; box-shadow:var(--hn-shadow); max-height:75vh; overflow:auto; }
  .mobile-nav-active .navmenu > ul { display:block; }
  .navmenu ul li { width:100%; }
  .navmenu a { padding:12px; }
  .navmenu .dropdown ul { position:static; opacity:1; visibility:visible; transform:none; display:none; box-shadow:none; border:0; background:var(--hn-ice-2); margin:4px 0 8px 14px; }
  .navmenu .dropdown.dropdown-active > ul { display:block; }
  .hn-nav-cta { margin:6px 0 0; display:inline-flex !important; width:auto !important; }
}
@media (max-width: 991px) {
  .hn-hero { min-height:auto; padding:92px 0 74px; }
  .hn-hero-card { margin:34px 0 0; max-width:none; }
  .hn-title-row, .hn-cta-box { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 767px) {
  .hn-topbar .container { justify-content:center; }
  .hn-topbar .topbar-tag { display:none; }
  .hn-brand-text span { display:none; }
  .hn-section { padding:68px 0; }
  .hn-page-hero { padding:64px 0 54px; }
  .hn-project-media { height:205px; }
  .hn-cta-box, .hn-contact-card, .hn-form, .hn-split-panel { padding:26px; }
  .hn-footer-bottom { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .hn-hero-media video { display:none; }
  .hn-hero-media { background:url('../NEWIMAGES/platform bg.jpg') center/cover no-repeat; }
}
