/* ASAPTech Premium v3 - visual depth and contrast overrides */

:root {
  --v3-navy-950:#081a2f;
  --v3-navy-900:#0b223d;
  --v3-navy-850:#0f2b4c;
  --v3-blue:#0f6fc6;
  --v3-blue-bright:#2b8fe6;
  --v3-cyan:#52b6ff;
  --v3-orange:#f58220;
  --v3-gold:#ffb147;
  --v3-ink:#112a43;
  --v3-muted:#607389;
  --v3-soft:#f4f7fa;
  --v3-shadow:0 24px 70px rgba(7,30,55,.16);
  --v3-shadow-soft:0 12px 38px rgba(14,47,82,.10);
}

body { background:#fff; }

/* Header refinement */
.asap-topbar {
  background:linear-gradient(90deg,#07192c 0%,#0b2b4b 65%,#0e3b68 100%);
  border-bottom:1px solid rgba(255,255,255,.07);
}

.asap-header {
  box-shadow:0 10px 30px rgba(12,42,73,.04);
}

.asap-header__main { padding-top:20px; padding-bottom:20px; }

.asap-search #search .form-control,
.asap-search #search .form-control-lg {
  border-radius:10px 0 0 10px;
  border-color:#d7e1ea;
  background:#f8fafc;
}

.asap-search #search .btn,
.asap-search #search .btn-lg {
  border-radius:0 10px 10px 0;
  background:linear-gradient(135deg,var(--v3-blue),var(--v3-blue-bright));
  box-shadow:0 8px 18px rgba(15,111,198,.18);
}

.asap-demo-btn {
  border:0;
  color:#fff;
  background:linear-gradient(135deg,var(--v3-orange),#ff9f45);
  box-shadow:0 8px 22px rgba(245,130,32,.22);
}
.asap-demo-btn:hover { color:#fff; transform:translateY(-1px); }

/* Premium storefront navigation */
.asap-nav {
  background:linear-gradient(90deg,#0a2744 0%,#0d3d67 55%,#0f5b91 100%);
  border:0;
  box-shadow:0 10px 30px rgba(8,34,61,.18);
}

.asap-nav > .container { max-width:1440px; }

.asap-store-menu {
  min-height:58px;
  padding:0;
  background:transparent !important;
  border:0 !important;
  margin:0 !important;
}

.asap-store-menu__categories {
  display:flex;
  align-items:center;
  gap:4px;
}

.asap-store-menu .nav-item { position:relative; }

.asap-store-menu .nav-link,
.asap-store-menu .dropdown-item:not(.dropdown-menu .dropdown-item) {
  display:flex;
  align-items:center;
  min-height:58px;
  padding:0 18px !important;
  border-radius:0;
  color:#f4f8fc !important;
  background:transparent !important;
  font-size:13px;
  font-weight:700;
  letter-spacing:.15px;
  text-decoration:none;
  text-shadow:none !important;
}

.asap-store-menu .nav-item:after {
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:3px;
  border-radius:3px 3px 0 0;
  background:linear-gradient(90deg,var(--v3-orange),#ffba70);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease;
}

.asap-store-menu .nav-item:hover:after { transform:scaleX(1); }
.asap-store-menu .nav-link:hover { color:#fff !important; background:rgba(255,255,255,.07) !important; }

.asap-store-menu .dropdown-menu {
  margin-top:0;
  padding:16px;
  border:0;
  border-radius:0 0 14px 14px;
  background:#fff;
  box-shadow:0 24px 60px rgba(8,31,55,.22);
}

.asap-store-menu .dropdown-menu .dropdown-item {
  min-height:auto;
  padding:9px 12px !important;
  border-radius:7px;
  color:#29455f !important;
  background:transparent !important;
  font-size:12px;
  font-weight:600;
}

.asap-store-menu .dropdown-menu .dropdown-item:hover {
  color:var(--v3-blue) !important;
  background:#eef6fc !important;
}

.asap-menu-view-all { color:var(--v3-blue) !important; font-weight:800 !important; }

.asap-store-menu__utility {
  display:flex;
  align-items:center;
  gap:8px;
  padding-left:20px;
}

.asap-store-menu__utility a {
  padding:9px 12px;
  border-radius:8px;
  color:#dbe9f5;
  font-size:11px;
  font-weight:700;
  text-decoration:none;
}

.asap-store-menu__utility a:last-child {
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
}

.asap-store-menu__utility a:hover { color:#fff; background:rgba(255,255,255,.08); }
.asap-store-menu #category { color:#fff; text-shadow:none; }
.asap-store-menu .navbar-toggler { border-color:rgba(255,255,255,.22); }
.asap-store-menu .navbar-toggler i { color:#fff; }

/* Hero */
.asap-hero--premium {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 26%, rgba(82,182,255,.22) 0, rgba(82,182,255,0) 28%),
    radial-gradient(circle at 65% 85%, rgba(245,130,32,.13) 0, rgba(245,130,32,0) 28%),
    linear-gradient(120deg,#081a2f 0%,#0c2847 48%,#0d477a 100%);
  border:0;
}

.asap-hero--premium:before {
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.55),transparent);
  pointer-events:none;
}

.asap-hero--premium:after {
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-180px;
  top:-160px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.015);
  pointer-events:none;
}

.asap-hero--premium .asap-hero__grid {
  position:relative;
  z-index:2;
  min-height:640px;
  padding-top:82px;
  padding-bottom:82px;
}

.asap-hero--premium .asap-eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  color:#9fd4ff;
  letter-spacing:1.6px;
}

.asap-hero--premium .asap-eyebrow span {
  width:34px;
  height:2px;
  display:inline-block;
  background:linear-gradient(90deg,var(--v3-orange),#ffc27a);
}

.asap-hero--premium h1 {
  color:#fff;
  font-size:clamp(48px,5.3vw,72px);
  line-height:.98;
  letter-spacing:-2.6px;
  margin-top:18px;
  margin-bottom:24px;
  max-width:720px;
}

.asap-hero--premium h1 em {
  font-style:normal;
  background:linear-gradient(90deg,#ffffff 0%,#b8dcff 52%,#7bc5ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.asap-hero--premium .asap-hero__lead {
  color:#c6d7e8;
  font-size:18px;
  max-width:640px;
}

.asap-hero--premium .asap-btn--primary {
  min-height:50px;
  padding:0 23px;
  border-radius:9px;
  background:linear-gradient(135deg,#1686dc,#2a9bed);
  box-shadow:0 12px 30px rgba(17,132,218,.34);
}

.asap-btn--ghost {
  min-height:50px;
  padding:0 23px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:9px;
  color:#fff;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
}
.asap-btn--ghost:hover { color:#fff; background:rgba(255,255,255,.12); }

.asap-hero__proof {
  display:flex;
  gap:0;
  margin-top:38px;
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:25px;
  max-width:620px;
}

.asap-hero__proof > div {
  min-width:150px;
  padding-right:28px;
  margin-right:28px;
  border-right:1px solid rgba(255,255,255,.12);
}
.asap-hero__proof > div:last-child { border-right:0; margin-right:0; }
.asap-hero__proof strong { display:block; color:#fff; font-size:17px; }
.asap-hero__proof span { color:#93abc2; font-size:11px; }

/* Hero showcase panel */
.asap-showcase {
  position:relative;
  min-height:470px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.asap-showcase__glow {
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(59,165,255,.38),rgba(59,165,255,0) 68%);
  filter:blur(10px);
}

.asap-showcase__panel--main {
  position:relative;
  z-index:2;
  width:min(100%,520px);
  padding:36px 36px 28px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.07));
  backdrop-filter:blur(18px);
  box-shadow:0 34px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
  transform:perspective(1000px) rotateY(-4deg) rotateX(1deg);
}

.asap-showcase__panel--main:before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:24px;
  padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,.4),rgba(63,170,255,.16),rgba(245,130,32,.18));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

.asap-showcase__label {
  display:inline-block;
  margin-bottom:14px;
  color:#9fd4ff;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.4px;
  text-transform:uppercase;
}

.asap-showcase__panel--main h3 {
  margin:0;
  color:#fff;
  font-size:32px;
  line-height:1.16;
  letter-spacing:-.8px;
  max-width:420px;
}

.asap-showcase__mini-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:28px;
}

.asap-showcase__mini-grid > div {
  min-height:126px;
  padding:16px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(6,28,51,.30);
}

.asap-showcase__mini-grid i { color:#67bfff; font-size:22px; margin-bottom:16px; }
.asap-showcase__mini-grid > div:nth-child(2) i { color:#64cf8f; }
.asap-showcase__mini-grid > div:nth-child(3) i { color:#ffb366; }
.asap-showcase__mini-grid strong { display:block; color:#fff; font-size:13px; }
.asap-showcase__mini-grid span { color:#9eb2c8; font-size:10px; line-height:1.4; display:block; margin-top:3px; }

.asap-showcase__status-row {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.10);
}

.asap-showcase__status-row span {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(7,27,49,.34);
  color:#cfe0ef;
  font-size:10px;
  font-weight:700;
}
.asap-showcase__status-row span:first-child i { color:#70d49a; }
.asap-showcase__status-row span:last-child i { color:#75c3ff; }

/* Trust band */
.asap-trust-band {
  background:#fff;
  border-bottom:1px solid #e6edf3;
  box-shadow:0 12px 30px rgba(11,42,73,.05);
}
.asap-trust-band .container {
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.asap-trust-band__item {
  display:flex;
  align-items:center;
  gap:13px;
  padding:24px 18px;
  border-right:1px solid #edf2f6;
}
.asap-trust-band__item:last-child { border-right:0; }
.asap-trust-band__item i {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--v3-blue);
  background:linear-gradient(145deg,#eef7ff,#e6f1fa);
}
.asap-trust-band__item strong { display:block; color:var(--v3-ink); font-size:13px; }
.asap-trust-band__item span { display:block; color:#8190a0; font-size:10px; }

/* Sections */
.asap-section { padding-top:78px; padding-bottom:78px; }
.asap-section--soft { background:linear-gradient(180deg,#f5f8fb 0%,#eef3f7 100%); }

.asap-section-kicker {
  display:block;
  margin-bottom:9px;
  color:var(--v3-blue);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.6px;
}

.asap-section__head--premium h2,
.asap-services__intro h2,
.asap-why--premium h2,
.asap-final-cta__box h2 {
  font-size:clamp(32px,3vw,46px);
  line-height:1.08;
  letter-spacing:-1.2px;
}

.asap-section__head--premium p { max-width:700px; font-size:14px; }

/* Product cards */
.asap-feature-grid--premium {
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.asap-feature-card--premium {
  min-height:480px;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:20px;
  box-shadow:var(--v3-shadow-soft);
  background:#fff;
}

.asap-feature-card--premium:hover {
  transform:translateY(-8px);
  box-shadow:0 28px 60px rgba(13,45,76,.16);
}

.asap-feature-image--premium {
  height:210px;
  margin:0;
  border-radius:0;
  background:linear-gradient(145deg,#f7fafc,#edf3f8);
  border-bottom:1px solid #edf2f6;
}
.asap-feature-image--premium img { max-width:82%; max-height:82%; object-fit:contain; }

.asap-feature-body { display:flex; flex:1; flex-direction:column; padding:22px 22px 20px; }
.asap-feature-card--premium h3 { font-size:20px; margin-top:12px; }
.asap-feature-card--premium h3 a { color:var(--v3-ink); }
.asap-feature-card--premium p { font-size:13px; line-height:1.62; min-height:auto; }
.asap-product-bottom { margin-top:auto; }
.asap-card-actions--premium { grid-template-columns:auto 1fr; align-items:center; gap:12px; }
.asap-card-btn--text { border:0; color:#60758a; padding-left:0; padding-right:0; }
.asap-card-btn--fill { border-radius:8px; padding:11px 10px; background:linear-gradient(135deg,var(--v3-blue),#278ddd); }
.asap-price { font-size:21px; margin-bottom:12px; }

/* Requirement cards */
.asap-category-grid--premium { grid-template-columns:repeat(4,1fr); gap:16px; }
.asap-category-grid--premium .asap-category-card {
  min-height:160px;
  padding:24px 20px;
  text-align:left;
  border:1px solid rgba(16,52,85,.08);
  border-radius:18px;
  box-shadow:0 9px 30px rgba(12,45,77,.05);
  transition:.22s ease;
}
.asap-category-grid--premium .asap-category-card:hover {
  transform:translateY(-5px);
  border-color:rgba(15,111,198,.20);
  box-shadow:0 20px 45px rgba(12,45,77,.10);
}
.asap-category-grid--premium .asap-category-card i {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:linear-gradient(145deg,#eaf5ff,#f5faff);
  margin-bottom:18px;
}
.asap-category-grid--premium .asap-category-card strong { font-size:14px; margin-bottom:3px; }
.asap-category-grid--premium .asap-category-card span { color:#8391a0; font-size:10px; }

/* Dark services band */
.asap-services {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 20%,rgba(41,145,226,.20),transparent 28%),
    radial-gradient(circle at 90% 90%,rgba(245,130,32,.10),transparent 24%),
    linear-gradient(125deg,#081a2f,#0c2d50 58%,#0d406f);
  color:#fff;
}
.asap-services:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:58px 58px;
  pointer-events:none;
}
.asap-services__grid { position:relative; z-index:2; display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; }
.asap-services__intro .asap-section-kicker { color:#76c3ff; }
.asap-services__intro h2 { color:#fff; }
.asap-services__intro p { color:#b9cadd; line-height:1.72; font-size:14px; max-width:520px; margin:18px 0 24px; }
.asap-services__cards { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }
.asap-services__cards > div {
  min-height:180px;
  padding:22px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
}
.asap-services__cards i { color:#63baff; font-size:23px; margin-bottom:25px; }
.asap-services__cards > div:nth-child(2) i,
.asap-services__cards > div:nth-child(4) i { color:#ffae61; }
.asap-services__cards strong { display:block; color:#fff; margin-bottom:7px; font-size:15px; }
.asap-services__cards span { color:#aebfd0; font-size:11px; line-height:1.55; }

/* Why section */
.asap-why--premium .asap-why__visual {
  min-height:390px;
  background:
    radial-gradient(circle at 25% 25%,rgba(82,182,255,.26),transparent 28%),
    linear-gradient(145deg,#0c3155,#155a91);
  box-shadow:var(--v3-shadow);
}
.asap-why--premium .asap-why__quote {
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(12px);
  box-shadow:none;
}
.asap-why--premium .asap-why__quote .asap-section-kicker { color:#9fd4ff; }
.asap-why--premium .asap-why__quote strong { color:#fff; font-size:24px; line-height:1.2; display:block; }
.asap-why--premium .asap-why__quote p { color:#c4d6e7; }
.asap-why--premium .asap-why__point { border-left:0; padding:18px 18px 18px 54px; position:relative; border-radius:14px; background:#fff; box-shadow:0 9px 24px rgba(17,50,82,.06); }
.asap-why--premium .asap-why__point:before {
  content:"✓";
  position:absolute;
  left:17px;
  top:18px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e9f5ff;
  color:var(--v3-blue);
  font-size:12px;
  font-weight:800;
}

/* Final CTA */
.asap-final-cta { background:#fff; }
.asap-final-cta__box {
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding:48px 54px;
  border-radius:24px;
  color:#fff;
  background:linear-gradient(115deg,#0a2340 0%,#0f4d81 66%,#146cad 100%);
  box-shadow:0 25px 70px rgba(10,41,73,.18);
}
.asap-final-cta__box:after {
  content:"";
  position:absolute;
  right:-60px;
  top:-100px;
  width:330px;
  height:330px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(89,190,255,.32),transparent 68%);
}
.asap-final-cta__box > * { position:relative; z-index:2; }
.asap-final-cta__box .asap-section-kicker { color:#9bd2ff; }
.asap-final-cta__box h2 { color:#fff; margin:0 0 8px; }
.asap-final-cta__box p { color:#c1d4e6; margin:0; }
.asap-btn--light { min-height:48px; padding:0 22px; background:#fff; color:#0d477a; border-radius:9px; white-space:nowrap; }

/* Footer stronger */
.asap-footer { background:linear-gradient(135deg,#07192c,#0a2948); }

/* subtle motion */
.asap-feature-card--premium,
.asap-category-grid--premium .asap-category-card,
.asap-demo-btn,
.asap-btn { transition:all .22s ease; }

@media (max-width:1100px) {
  .asap-feature-grid--premium { grid-template-columns:repeat(2,1fr); }
  .asap-services__grid { grid-template-columns:1fr; gap:38px; }
  .asap-store-menu__utility { display:none; }
}

@media (max-width:768px) {
  .asap-nav { background:linear-gradient(90deg,#0a2744,#0f5688); }
  .asap-store-menu { min-height:52px; padding:0 12px; }
  .asap-store-menu .nav-link { min-height:44px; padding:0 12px !important; }
  .asap-store-menu .nav-item:after { display:none; }
  .asap-hero--premium .asap-hero__grid { min-height:auto; padding-top:52px; padding-bottom:52px; }
  .asap-hero--premium h1 { font-size:46px; }
  .asap-hero__proof { flex-wrap:wrap; gap:18px; }
  .asap-hero__proof > div { min-width:120px; margin-right:0; border-right:0; padding-right:0; }
  .asap-showcase { min-height:390px; }
  .asap-showcase__panel--main { transform:none; }
  .asap-trust-band .container { grid-template-columns:repeat(2,1fr); }
  .asap-trust-band__item { border-bottom:1px solid #edf2f6; }
  .asap-feature-grid--premium { grid-template-columns:1fr; }
  .asap-category-grid--premium { grid-template-columns:repeat(2,1fr); }
  .asap-services__cards { grid-template-columns:1fr; }
  .asap-final-cta__box { padding:34px 28px; flex-direction:column; align-items:flex-start; }
}

@media (max-width:480px) {
  .asap-category-grid--premium,
  .asap-trust-band .container { grid-template-columns:1fr; }
  .asap-showcase__mini-grid { grid-template-columns:1fr; }
  .asap-showcase__panel--main { padding:24px; }
  .asap-showcase__panel--main h3 { font-size:26px; }
}
