/* Section Styles */
.section {
  padding: 80px 20px;
}

.section-title {
  text-align: center;
  margin-bottom: 50px;
}

.section-title h2 {
  font-size: 36px;
  color: var(--primary);
  margin-bottom: 15px;
  position: relative;
  display: inline-block;
}

.section-title h2:after {
  content: '';
  position: absolute;
  width: 80px;
  height: 4px;
  background: var(--accent);
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 2px;
}

.section-title p {
  max-width: 700px;
  margin: 20px auto 0;
  color: var(--gray);
  font-size: 18px;
}

/* About Section */
.about-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}

.about-text p {
  font-size: 18px;
  margin-bottom: 25px;
  color: var(--gray);
  text-align: justify;
}

.about-image {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
  height: 400px;
  background-image: url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=1350&q=80');
  background-size: cover;
  background-position: center;
  transition: transform 0.3s ease;
}

.about-image:hover {
  transform: scale(1.02);
}

/* Vision & Mission */
.vision-mission {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 40px;
}

.vision-box,
.mission-box {
  padding: 40px;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease;
  position: relative;
  overflow: hidden;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.vision-box:hover,
.mission-box:hover {
  transform: translateY(-10px);
}

.vision-box {
  background: linear-gradient(135deg, #f0f7ff 0%, #e1eeff 100%);
  border-left: 5px solid var(--primary);
  will-change: transform;
  backface-visibility: hidden;
  cursor: pointer;
}

.service-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.service-card[data-service="ict-infrastructure"] { order:1; }
.service-card[data-service="digital-transformation"] { order:2; }
.service-card[data-service="geospatial"] { order:3; }
.service-card[data-service="office-supplies"] { order:4; }
.service-card[data-service="consulting-support"] { order:5; }
.service-card[data-service="skills-development"] { order:6; }

.mission-box {
  background: linear-gradient(135deg, #fff4f0 0%, #ffe8e1 100%);
  border-left: 5px solid var(--accent);
  will-change: transform;
  backface-visibility: hidden;
}

.vision-box h3,
.mission-box h3 {
  font-size: 28px;
  margin-bottom: 20px;
  color: var(--primary);
  display: flex;
  align-items: center;
  gap: 15px;
}

.vision-box p,
.mission-box p {
  font-size: 18px;
  line-height: 1.7;
  text-align: justify;
}

/* Services Section */
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.service-card {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  background: white;
  height: 100%;
  display: flex;
  flex-direction: column;
  will-change: transform;
  backface-visibility: hidden;
}

.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.service-image {
  height: 200px;
  overflow: hidden;
}

.service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.service-card:hover .service-image img {
  transform: scale(1.1);
}

.service-content {
  padding: 25px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.service-content h3 {
  font-size: 22px;
  margin-bottom: 15px;
  color: var(--primary);
  display: flex;
  align-items: center;
  gap: 10px;
}

.service-content h3 i {
  color: var(--accent);
}

.service-content h3>span { display:grid; gap:6px; }
.service-content h3 small { color:#687b93; font-size:12px; font-weight:750; line-height:1.35; }

.service-content p {
  color: var(--gray);
  flex-grow: 1;
  text-align: justify;
}

.service-card-action { display:inline-flex; align-items:center; gap:9px; margin-top:20px; color:var(--primary); font-weight:800; }
.service-card-action i { color:var(--accent); transition:transform .25s ease; }
.service-card:hover .service-card-action i,.service-card:focus-visible .service-card-action i { transform:translateX(4px); }
.service-card::before { content:attr(data-index); position:absolute; top:16px; right:16px; z-index:2; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.55); border-radius:13px; background:rgba(5,31,78,.72); color:#fff; backdrop-filter:blur(6px); font-size:13px; font-weight:900; }
.service-card { position:relative; }
.services-subsection { margin-top:90px; }
.services-subsection-heading { max-width:720px; margin:0 auto 38px; text-align:center; }
.services-subsection-heading>span { color:var(--accent); text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:900; }
.services-subsection-heading h3 { margin:7px 0 10px; color:var(--primary); font-size:clamp(30px,4vw,44px); letter-spacing:-.03em; }
.services-subsection-heading p { color:var(--gray); font-size:17px; }
.supply-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.supply-card { overflow:hidden; display:grid; grid-template-columns:190px 1fr; min-height:220px; border:1px solid #dce6f3; border-radius:22px; background:#fff; box-shadow:0 16px 44px rgba(11,61,145,.09); }
.supply-card-image { position:relative; min-height:220px; overflow:hidden; }
.supply-card-image img { width:100%; height:100%; object-fit:cover; }
.supply-card-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(5,31,78,.7)); }
.supply-card-image i { position:absolute; left:18px; bottom:18px; z-index:1; width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:var(--accent); color:#fff; font-size:20px; box-shadow:0 10px 24px rgba(0,0,0,.2); }
.supply-card>div:last-child { align-self:center; padding:26px; }
.supply-card h4 { margin:0 0 12px; color:var(--primary); font-size:21px; }
.supply-card p { color:var(--gray); line-height:1.65; }
.technology-stack { padding:58px 42px; border:1px solid #dce6f3; border-radius:28px; background:linear-gradient(145deg,#fff,#f4f8fd); box-shadow:0 22px 65px rgba(11,61,145,.1); }
.technology-logo-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.technology-logo { min-height:126px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; padding:18px 10px; border:1px solid #e0e8f3; border-radius:16px; background:#fff; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.technology-logo:hover { transform:translateY(-5px); border-color:#b9ccee; box-shadow:0 15px 34px rgba(11,61,145,.12); }
.technology-logo img { width:54px; height:54px; object-fit:contain; }
.technology-logo-wide img { width:84px; }
.technology-logo span { color:var(--primary); text-align:center; font-size:13px; font-weight:800; line-height:1.25; }
.why-ddt { padding:58px 42px; border-radius:28px; background:linear-gradient(145deg,#071f4e,#0b3d91); box-shadow:0 28px 80px rgba(5,31,78,.23); }
.why-ddt .services-subsection-heading h3 { color:#fff; }
.why-ddt-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.why-ddt-grid article { padding:25px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.07); }
.why-ddt-grid article>i { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--accent),#ff966f); font-size:20px; }
.why-ddt-grid h4 { margin:18px 0 9px; color:#fff; font-size:18px; line-height:1.25; }
.why-ddt-grid p { color:#cfddf2; font-size:14px; line-height:1.6; }
body.service-modal-open { overflow:hidden; }
.service-modal[hidden] { display:none; }
.service-modal { position:fixed; inset:0; z-index:10000; display:grid; place-items:start center; padding:clamp(86px,10vh,120px) 20px 40px; overflow-y:auto; }
.service-modal-backdrop { position:fixed; inset:0; background:rgba(3,17,43,.76); backdrop-filter:blur(8px); animation:serviceBackdropIn .2s ease both; }
.service-modal-dialog { position:relative; z-index:1; width:min(920px,100%); max-height:calc(100vh - clamp(126px,16vh,180px)); overflow-y:auto; padding:clamp(28px,5vw,52px); border:1px solid rgba(255,255,255,.7); border-radius:28px; background:linear-gradient(145deg,#fff,#f5f8fd); box-shadow:0 35px 100px rgba(0,15,45,.38); animation:serviceModalIn .3s cubic-bezier(.2,.8,.2,1) both; }
.service-modal-close { position:absolute; top:20px; right:20px; width:44px; height:44px; display:grid; place-items:center; border:1px solid #dce6f3; border-radius:50%; background:#fff; color:var(--primary); cursor:pointer; font-size:18px; }
.service-modal-close:hover,.service-modal-close:focus-visible { color:#fff; background:var(--accent); border-color:var(--accent); }
.service-modal-heading { display:flex; align-items:center; gap:20px; padding-right:44px; }
.service-modal-icon { flex:0 0 68px; width:68px; height:68px; display:grid; place-items:center; border-radius:20px; color:#fff; background:linear-gradient(135deg,var(--primary),#1a5af0); box-shadow:0 14px 30px rgba(11,61,145,.23); font-size:28px; }
.service-modal-kicker { color:var(--accent); text-transform:uppercase; letter-spacing:.13em; font-size:12px; font-weight:900; }
.service-modal-heading h2 { margin:5px 0 0; color:var(--primary); font-size:clamp(26px,4vw,40px); line-height:1.12; }
.service-modal-description { margin:26px 0; padding-bottom:24px; border-bottom:1px solid #dce6f3; color:var(--gray); font-size:18px; line-height:1.7; }
.service-modal-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:0; padding:0; list-style:none; }
.service-modal-list li { position:relative; padding:12px 14px 12px 42px; border:1px solid #e1e9f4; border-radius:12px; background:#fff; color:#36475d; line-height:1.45; }
.service-modal-list li::before { content:"\f00c"; position:absolute; left:15px; top:14px; color:var(--accent); font-family:"Font Awesome 6 Free"; font-weight:900; }
@keyframes serviceBackdropIn { from { opacity:0; } }
@keyframes serviceModalIn { from { opacity:0; transform:translateY(-18px) scale(.98); } }
@media(max-width:700px) {
  .service-modal { padding:72px 12px 20px; }
  .service-modal-dialog { max-height:calc(100vh - 92px); padding:26px 20px; border-radius:20px; }
  .service-modal-heading { align-items:flex-start; gap:14px; padding-right:34px; }
  .service-modal-icon { flex-basis:52px; width:52px; height:52px; border-radius:15px; font-size:21px; }
  .service-modal-close { top:14px; right:14px; width:38px; height:38px; }
  .service-modal-list { grid-template-columns:1fr; }
  .supply-grid,.why-ddt-grid { grid-template-columns:1fr; }
  .supply-card { grid-template-columns:1fr; }
  .supply-card-image { min-height:180px; }
  .why-ddt { padding:42px 18px; }
  .technology-stack { padding:42px 18px; }
  .technology-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(min-width:701px) and (max-width:1050px) {
  .supply-card { grid-template-columns:1fr; }
  .supply-card-image { min-height:190px; }
  .why-ddt-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .technology-logo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* Impact Section */
.impact-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 30px;
  margin: 60px 0;
}

.stat-box {
  text-align: center;
  padding: 30px;
  border-radius: 10px;
  background: white;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
  will-change: transform;
  backface-visibility: hidden;
}

.stat-box:hover {
  transform: translateY(-5px);
}

.stat-icon {
  font-size: 48px;
  color: var(--primary);
  margin-bottom: 20px;
}

.stat-number {
  font-size: 42px;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 10px;
  line-height: 1;
}

.stat-text {
  font-size: 18px;
  color: var(--dark);
  font-weight: 500;
}

.clients-section {
  margin-top: 80px;
}

.clients-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 30px;
  margin-top: 40px;
  align-items: center;
}

.client-logo {
  background: white;
  padding: 25px;
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  transition: transform 0.3s ease;
  will-change: transform;
  backface-visibility: hidden;
}

.client-logo:hover {
  transform: scale(1.05);
}

.client-logo img {
  max-width: 150px;
  width: auto;
  max-height: 70px;
  filter: grayscale(100%);
  opacity: 0.7;
  transition: all 0.3s ease;
}

.client-logo:hover img {
  filter: grayscale(0);
  opacity: 1;
}

/* Contact Section */
.contact-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-top: 40px;
}

.contact-info {
  padding: 40px;
  background: linear-gradient(135deg, #f0f7ff 0%, #e1eeff 100%);
  border-radius: 10px;
}

.contact-info h3 {
  font-size: 28px;
  margin-bottom: 25px;
  color: var(--primary);
}

.contact-details {
  margin-top: 30px;
}

.contact-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 25px;
  gap: 15px;
}

.contact-icon {
  width: 50px;
  height: 50px;
  background: var(--primary);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.contact-text h4 {
  margin-bottom: 5px;
  color: var(--dark);
}

.contact-text .office-heading {
  margin-top: 16px;
}

.contact-text p {
  color: var(--gray);
}

.contact-form {
  padding: 40px;
  background: white;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.form-group {
  margin-bottom: 25px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  color: var(--primary);
  font-weight: 500;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-family: inherit;
  font-size: 16px;
  transition: border 0.3s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(11, 61, 145, 0.1);
}

.submit-btn {
  background: var(--primary);
  color: white;
  border: none;
  padding: 16px 35px;
  border-radius: 8px;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 100%;
}

.submit-btn:hover {
  background: var(--secondary);
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(11, 61, 145, 0.2);
}

/* Footer */
footer {
  background: var(--dark);
  color: white;
  padding: 70px 20px 20px;
  margin-top: 40px;
}

.footer-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 40px;
  margin-bottom: 50px;
}

.footer-logo {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}

.footer-logo-img {
  width: 50px;
  height: 50px;
  object-fit: contain;
}

.footer-logo h3 {
  font-size: 22px;
}

.footer-about p {
  color: #ccc;
  margin-bottom: 20px;
  text-align: justify;
}

.footer-links h4 {
  font-size: 20px;
  margin-bottom: 25px;
  color: white;
  position: relative;
  padding-bottom: 10px;
}

.footer-links h4:after {
  content: '';
  position: absolute;
  width: 50px;
  height: 3px;
  background: var(--accent);
  bottom: 0;
  left: 0;
}

.footer-links ul {
  list-style: none;
}

.footer-links li {
  margin-bottom: 12px;
}

.footer-links a {
  color: #ccc;
  text-decoration: none;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-links a:hover {
  color: var(--accent);
  padding-left: 5px;
}

.social-icons {
  display: flex;
  gap: 15px;
}

.social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  color: white;
  font-size: 20px;
  transition: all 0.3s;
}

.social-icons a:hover {
  background: var(--accent);
  transform: translateY(-5px);
}

.copyright {
  text-align: center;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: #aaa;
  font-size: 15px;
}

/* Responsive Styles */
@media (max-width: 992px) {

  .about-content,
  .vision-mission,
  .contact-container {
    grid-template-columns: 1fr;
  }

  .section {
    padding: 70px 20px;
  }

  .section-title h2 {
    font-size: 32px;
  }
}

@media (max-width: 768px) {
  .section-title h2 {
    font-size: 28px;
  }

  .services-grid {
    grid-template-columns: 1fr;
  }

  .impact-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .clients-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .vision-box,
  .mission-box {
    padding: 30px;
    min-height: 250px;
  }

  .contact-info,
  .contact-form {
    padding: 30px;
  }
}

@media (max-width: 480px) {
  .impact-stats {
    grid-template-columns: 1fr;
  }

  .stat-number {
    font-size: 36px;
  }

  .clients-grid {
    grid-template-columns: 1fr;
  }
}

/* 2026 visual refinement */
body {
  background: #fbfdff;
}

.section:nth-of-type(even) {
  background: linear-gradient(180deg, #f5f8fd 0%, #fbfdff 100%);
}

.hero {
  position: relative;
  min-height: 720px;
  display: grid;
  place-items: center;
  isolation: isolate;
  background-position: center;
}

.hero::before,
.hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  filter: blur(4px);
}

.hero::before {
  width: 390px;
  height: 390px;
  right: -130px;
  top: 110px;
  background: rgba(64, 125, 255, 0.22);
}

.hero::after {
  width: 260px;
  height: 260px;
  left: -90px;
  bottom: 40px;
  background: rgba(255, 107, 53, 0.18);
}

.hero-content {
  padding: 45px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 28px;
  background: rgba(5, 31, 78, 0.32);
  backdrop-filter: blur(9px);
  box-shadow: 0 30px 90px rgba(0, 16, 48, 0.3);
}

.hero h2 {
  font-size: clamp(42px, 6vw, 68px);
  letter-spacing: -0.035em;
}

.section-title h2 {
  letter-spacing: -0.025em;
}

.service-card,
.vision-box,
.mission-box,
.stat-box,
.contact-info,
.contact-form {
  border-radius: 20px;
}

.service-card {
  border: 1px solid #e3eaf4;
}

.service-image {
  position: relative;
}

.service-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(4, 26, 61, 0.4));
  pointer-events: none;
}

.service-content {
  padding: 30px;
}

.stat-box {
  border: 1px solid #e3eaf4;
  background: linear-gradient(150deg, #fff, #f5f8fd);
}

.submit-btn,
.cta-btn {
  border-radius: 999px;
}

@media (max-width: 768px) {
  .hero { min-height: 650px; }
  .hero-content { padding: 28px 20px; border-radius: 20px; }
  .hero h2 { font-size: 38px; }
}

/* Single-file routed Team and Demo views */
.nav-menu a.route-active{color:var(--accent)}
.nav-menu a.route-active:after{width:100%}
.site-view[hidden]{display:none!important}.route-hero{min-height:620px;padding:170px 20px 90px;display:flex;align-items:center;color:#fff;background:radial-gradient(circle at 82% 18%,rgba(74,137,255,.65),transparent 28%),linear-gradient(135deg,#071f4e,#0b3d91);overflow:hidden}.demo-route-hero{background:radial-gradient(circle at 78% 22%,rgba(255,107,53,.38),transparent 25%),linear-gradient(135deg,#071b3e,#0b3d91)}.route-hero h2{font-size:clamp(48px,7vw,78px);line-height:1.02;letter-spacing:-.045em;margin:16px 0 22px}.route-hero p{max-width:720px;font-size:20px;color:#dce8ff}.route-kicker,.route-heading>span{display:inline-flex;align-items:center;gap:8px;color:#ffb596;text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:800}.route-button{display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding:14px 22px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700}.route-section{padding:90px 20px;background:#fff}.route-alt{background:#f4f7fc}.route-heading{max-width:720px;margin-bottom:42px}.route-heading h2{font-size:clamp(34px,5vw,52px);line-height:1.1;letter-spacing:-.035em;color:var(--primary);margin:8px 0 12px}.route-heading p{font-size:18px;color:var(--gray)}.leadership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.leader-card{padding:30px;border:1px solid #dce6f3;border-radius:24px;background:linear-gradient(155deg,#fff,#f5f8fd);box-shadow:0 18px 50px rgba(11,61,145,.1);transition:.3s}.leader-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(11,61,145,.17)}.leader-card.featured{color:#fff;border:0;background:linear-gradient(150deg,#0b3d91,#09275c)}.profile-head{display:flex;justify-content:space-between;align-items:flex-start}.profile-head>b{font-size:56px;line-height:1;color:rgba(11,61,145,.08)}.featured .profile-head>b{color:#ffffff12}.profile-avatar{width:82px;height:82px;display:grid;place-items:center;border-radius:23px;background:linear-gradient(135deg,var(--accent),#ff9a72);color:#fff;font-size:25px;font-weight:900;box-shadow:0 12px 28px rgba(255,107,53,.25)}.profile-label{display:inline-block;margin-top:25px;padding:5px 10px;border-radius:99px;background:#e7efff;color:var(--primary);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.featured .profile-label{background:#ffffff16;color:#ffc4ac}.leader-card h3{font-size:25px;margin:15px 0 3px}.leader-card h4{color:var(--accent);margin:0 0 16px}.leader-card p{color:var(--gray);min-height:78px}.featured p{color:#d8e5fa}.profile-meta{display:flex;justify-content:space-between;align-items:center;padding-top:18px;margin-top:22px;border-top:1px solid #dce6f3;font-size:13px;font-weight:700}.featured .profile-meta{border-color:#ffffff22}.profile-meta a{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.capability-grid article{background:#fff;border:1px solid #dce6f3;border-radius:18px;padding:27px}.capability-grid article>i{font-size:28px;color:var(--accent)}.capability-grid h3{color:var(--primary);margin:18px 0 7px}.capability-grid p{color:var(--gray)}.product-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.product-tab{padding:12px 17px;border:1px solid #d5e0ef;border-radius:9px;background:#fff;color:var(--primary);font-weight:750;cursor:pointer}.product-tab.active{background:var(--primary);color:#fff}.product-screen{overflow:hidden;border-radius:20px;background:#0c1728;color:#fff;box-shadow:0 25px 70px rgba(2,22,53,.3)}.screen-bar{display:flex;align-items:center;gap:7px;padding:14px 18px;background:#19263a;color:#a9b8ce;font-size:13px}.screen-bar i{width:10px;height:10px;border-radius:50%;background:#ff6259}.screen-bar i:nth-child(2){background:#ffc44b}.screen-bar i:nth-child(3){background:#36c76c}.screen-bar span{margin-left:8px}.product-panel{display:none;padding:32px;min-height:390px}.product-panel.active{display:block}.product-panel h3{font-size:22px;margin-bottom:22px}.product-panel h3 i{color:var(--accent);margin-right:8px}.product-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.product-metrics div{padding:20px;background:#ffffff0c;border:1px solid #ffffff15;border-radius:12px}.product-metrics b{display:block;font-size:28px}.product-metrics span{color:#aebbd0}.map-visual{position:relative;height:185px;margin-top:25px;border-radius:13px;background:radial-gradient(circle at 68% 32%,#ff6b35 0 5px,transparent 6px),radial-gradient(circle at 35% 62%,#4f86f7 0 6px,transparent 7px),linear-gradient(32deg,transparent 45%,#ffffff14 46% 48%,transparent 49%),linear-gradient(150deg,#152d42,#173a4a)}.map-visual span{position:absolute;bottom:14px;left:16px;color:#bed0df}.bar-visual{height:180px;margin-top:25px;padding:18px;display:flex;align-items:end;gap:14px;border-radius:13px;background:#ffffff08}.bar-visual i{flex:1;min-height:20px;border-radius:6px 6px 0 0;background:linear-gradient(#4f86f7,#1f4ea4)}.demo-request-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.demo-benefits{list-style:none;padding:0}.demo-benefits li{margin:14px 0}.demo-benefits i{color:var(--accent);margin-right:9px}.demo-request-form{padding:32px;border:1px solid #dce6f3;border-radius:20px;background:#fff;box-shadow:0 20px 55px rgba(11,61,145,.1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.demo-form-status{display:none;padding:13px;border-radius:9px;margin-bottom:18px}.demo-form-status.success{display:block;background:#e8f6ed;color:#157347}.demo-form-status.warning{display:block;background:#fff4dd;color:#795500}.demo-form-status.error{display:block;background:#fdecec;color:#a51f29}.route-honeypot{position:absolute;left:-10000px}
@media(max-width:992px){.leadership-grid{grid-template-columns:1fr 1fr}.leader-card.featured{grid-column:1/-1}.capability-grid{grid-template-columns:1fr 1fr}.demo-request-layout{grid-template-columns:1fr}}
@media(max-width:600px){.route-hero{min-height:560px;padding-top:140px}.route-hero h2{font-size:42px}.leadership-grid,.capability-grid,.form-row{grid-template-columns:1fr}.leader-card.featured{grid-column:auto}.product-metrics{grid-template-columns:1fr 1fr}.product-panel{padding:20px}.route-section{padding:65px 16px}.demo-request-form{padding:22px}}
.contact-form-status{display:none;padding:13px 15px;margin:16px 0;border-radius:9px}.contact-form-status.success{display:block;background:#e8f6ed;color:#157347}.contact-form-status.warning{display:block;background:#fff4dd;color:#795500}.contact-form-status.error{display:block;background:#fdecec;color:#a51f29}

/* Motion and interaction polish */
html{scroll-padding-top:90px}.section,.route-section{scroll-margin-top:82px}.site-view{view-transition-name:page-content}.site-view.view-entering{animation:viewEnter .42s cubic-bezier(.2,.8,.2,1) both}.product-panel.active{animation:panelEnter .32s cubic-bezier(.2,.8,.2,1) both}.submit-btn:disabled,.button:disabled{opacity:.62;cursor:wait;transform:none}.service-card,.leader-card,.capability-grid article,.stat-box{contain:layout style}.service-image img{backface-visibility:hidden}.route-button,.hero-button,.cta-btn,.submit-btn{-webkit-tap-highlight-color:transparent}.route-button:active,.hero-button:active,.cta-btn:active,.submit-btn:active{transform:translateY(1px) scale(.99)}
::view-transition-old(page-content){animation:pageOut .22s ease both}::view-transition-new(page-content){animation:pageIn .38s cubic-bezier(.2,.8,.2,1) both}
@keyframes viewEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes panelEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pageOut{to{opacity:0;transform:translateY(-6px)}}@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:768px){.desktop-nav{display:flex;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .24s ease,transform .24s ease,visibility .24s}.desktop-nav.active{display:flex;opacity:1;visibility:visible;pointer-events:auto;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-view.view-entering,.product-panel.active{animation:none}.desktop-nav{transition:none!important}::view-transition-old(page-content),::view-transition-new(page-content){animation:none}}

/* Live product demos */
.live-demo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin-bottom:90px}.live-demo-card{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:24px;padding:32px;border:1px solid #dce6f3;border-radius:24px;background:linear-gradient(145deg,#fff,#f5f8fd);box-shadow:0 20px 60px rgba(11,61,145,.11);transition:transform .3s ease,box-shadow .3s ease}.live-demo-card:before{content:"";position:absolute;right:-80px;top:-90px;width:210px;height:210px;border-radius:50%;background:rgba(26,90,240,.07)}.live-demo-card:hover{transform:translateY(-7px);box-shadow:0 30px 75px rgba(11,61,145,.18)}.rqm-card:before{background:rgba(255,107,53,.09)}.live-demo-icon{position:relative;width:68px;height:68px;display:grid;place-items:center;border-radius:19px;background:linear-gradient(135deg,#0b3d91,#1a5af0);color:#fff;font-size:28px;box-shadow:0 12px 28px rgba(11,61,145,.22)}.rqm-card .live-demo-icon{background:linear-gradient(135deg,#db4e1d,#ff8052)}.live-status{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;background:#e8f6ed;color:#157347;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.live-status i{width:7px;height:7px;border-radius:50%;background:#22a35a;box-shadow:0 0 0 4px rgba(34,163,90,.12)}.live-status.pending{background:#fff4dd;color:#795500}.live-status.pending i{background:#d49600;box-shadow:0 0 0 4px rgba(212,150,0,.12)}.live-demo-copy h3{font-size:29px;color:var(--primary);margin:15px 0 0}.live-demo-copy h4{font-size:16px;color:var(--accent);margin:2px 0 14px}.live-demo-copy p{color:var(--gray)}.live-demo-copy ul{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;list-style:none;padding:0;margin:20px 0}.live-demo-copy li{font-size:12px;font-weight:700;color:#46576d}.live-demo-copy li i{color:#1e9a55;margin-right:4px}.live-demo-button{display:inline-flex;align-items:center;gap:9px;padding:12px 18px;border-radius:999px;background:var(--primary);color:#fff;text-decoration:none;font-weight:750;transition:.25s}.live-demo-button:hover{background:var(--secondary);transform:translateY(-2px)}.preview-heading{padding-top:5px}
@media(max-width:992px){.live-demo-grid{grid-template-columns:1fr}.live-demo-copy ul{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.live-demo-card{grid-template-columns:1fr;padding:24px}.live-demo-copy ul{grid-template-columns:1fr}.live-demo-grid{margin-bottom:65px}}

/* Route visibility must override component display rules such as .hero { display:grid }. */
[hidden]{display:none!important}
