/* ============================================================
   PDS Homepage — avast-inspired modernization
   Scoped to #home-pds so sub-pages are unaffected.
   Stack: Bootstrap 5 + jQuery (same as the rest of the site).
   Palette: brand blue #16bfff, deep navy #1b1f4b, ink #333355,
            accent orange #f82 (from style.css).
   ============================================================ */

#home-pds.page { margin-top: 0; margin-bottom: 0; }
#home-pds { color: #333355; }

/* --- section heads --- */
.pds-section-head { text-align: center; max-width: 760px; margin: 0 auto 2.5rem; }
.pds-section-head h2 { font-weight: 700; color: #1b1f4b; font-size: clamp(32px, 4vw, 46px); margin-bottom: 0.5rem; }
.pds-section-head p { font-family: "Titillium Web", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; font-size: clamp(17px, 1.6vw, 20px); color: #333355; margin-bottom: 0; }

/* --- buttons --- */
.pds-btn { display: inline-block; font-weight: 700; font-size: 18px; line-height: 1.2; padding: 15px 36px; border-radius: 100px; text-decoration: none !important; border: 2px solid transparent; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
.pds-btn:hover { transform: translateY(-2px); }
.pds-btn-primary { background-color: #16bfff; color: #fff !important; }
.pds-btn-primary:hover { background-color: #0fa4dd; color: #fff !important; }
.pds-btn-ghost { background-color: transparent; color: #fff !important; border-color: rgba(255, 255, 255, 0.6); }
.pds-btn-ghost:hover { background-color: rgba(255, 255, 255, 0.14); color: #fff !important; }
.pds-btn-light { background-color: #fff; color: #1b1f4b !important; }
.pds-btn-light:hover { background-color: #e8f7ff; color: #1b1f4b !important; }

/* --- hero --- */
.pds-hero { position: relative; color: #fff; background: linear-gradient(115deg, #0d1233 0%, #1b1f4b 55%, #15357d 100%); overflow: hidden; padding: 50px 0 4.5rem; text-align: center; }
.pds-hero::before { content: ""; position: absolute; inset: 0; background: url(../img/herobg.jpg) center center / cover no-repeat; opacity: 0.13; }
.pds-hero .container { position: relative; }
.pds-eyebrow { display: inline-block; font-family: "Titillium Web", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; font-size: 14px; color: #16bfff; border: 1px solid rgba(22, 191, 255, 0.5); border-radius: 100px; padding: 6px 16px; margin-bottom: 1.25rem; }
.pds-hero h1 { font-weight: 700; font-size: clamp(40px, 5.4vw, 62px); line-height: 1.08; margin-bottom: 1.25rem; }
.pds-hero .pds-lede { font-family: "Titillium Web", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; font-size: clamp(18px, 1.7vw, 21px); color: #d7e7f5; max-width: 560px; margin: 0 auto 2rem; }
.pds-hero-cta { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.pds-hero-cta .pds-btn { width: 100%; max-width: 320px; }
.pds-hero-points { list-style: none; padding: 0; margin: 2rem 0 0; display: flex; flex-wrap: wrap; gap: 10px 26px; justify-content: center; }
.pds-hero-points li { font-family: "Titillium Web", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; font-size: 16.5px; color: #e8f4fc; }
.pds-hero-points li i { color: #16bfff; margin-right: 8px; }
.pds-hero-photo { width: 100%; height: auto; display: block; border: 4px solid #fff; border-radius: 22px; box-shadow: 0 24px 60px rgba(4, 10, 40, 0.45); }

/* --- trust strip --- */
.pds-strip { background: #fff; border-bottom: 1px solid #e3edf6; padding: 3rem 0; }
.pds-strip-item { text-align: center; padding: 1rem 0.75rem; }
.pds-strip-item i { font-size: 42px; color: #16bfff; display: block; margin-bottom: 0.9rem; }
.pds-strip-item h3 { font-family: "Titillium Web", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; font-size: 21px; color: #1b1f4b; margin-bottom: 0.45rem; }
.pds-strip-item p { font-size: 16px; line-height: 1.55; color: #44506b; margin: 0; }

/* --- products --- */
.pds-products { background: #f2f7fb; padding: 4.5rem 0; }
.pds-card { background: #fff; border: 1px solid #d9e6f2; border-radius: 14px; padding: 2rem 1.5rem 1.75rem; height: 100%; display: flex; flex-direction: column; align-items: flex-start; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.pds-card:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(22, 60, 120, 0.12); }
.pds-card-logo { display: flex; align-items: center; height: 74px; margin-bottom: 1.25rem; }
.pds-card-logo img { max-height: 74px; max-width: 190px; width: auto; }
.pds-card h3 { font-weight: 700; font-size: 26px; color: #1b1f4b; margin-bottom: 0.3rem; }
.pds-card .pds-card-tag { font-family: "Titillium Web", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; font-size: 16px; color: #16bfff; margin-bottom: 0.9rem; }
.pds-card p { font-size: 16.5px; line-height: 1.6; color: #44506b; flex-grow: 1; }
.pds-card .pds-card-link { margin-top: 1.25rem; font-weight: 700; font-size: 17px; color: #1b1f4b; text-decoration: none; }
.pds-card .pds-card-link:hover { color: #0fa4dd; }
.pds-card .pds-card-link i { margin-left: 6px; transition: transform 0.2s ease; }
.pds-card .pds-card-link:hover i { transform: translateX(4px); }
.pds-badge-soon { display: inline-block; background: #f82; color: #fff; font-family: "Titillium Web", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; font-size: 13.5px; letter-spacing: 0.4px; text-transform: uppercase; border-radius: 100px; padding: 4px 14px; margin-bottom: 0.9rem; }

/* --- about band --- */
.pds-about { background: #fff; padding: 4.5rem 0; }
.pds-about-figure img { border-radius: 16px; box-shadow: 0 20px 45px rgba(15, 40, 90, 0.16); width: 100%; height: auto; }
.pds-about h2 { font-weight: 700; color: #1b1f4b; font-size: clamp(30px, 3.4vw, 42px); margin-bottom: 1.25rem; }
.pds-about p { font-size: 17.5px; line-height: 1.7; color: #44506b; }
.pds-link-arrow { font-weight: 700; font-size: 18px; color: #16bfff; text-decoration: none; }
.pds-link-arrow:hover { color: #0fa4dd; }
.pds-link-arrow i { margin-left: 6px; }

/* --- features --- */
.pds-features { background: #f2f7fb; padding: 4.5rem 0; }
.pds-tile { background: #fff; border: 1px solid #d9e6f2; border-radius: 14px; padding: 1.9rem 1.4rem; height: 100%; text-align: center; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.pds-tile:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(22, 60, 120, 0.1); }
.pds-tile-icon { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 auto 1rem; background: #e3f6ff; border-radius: 50%; }
.pds-tile-icon i { font-size: 30px; color: #16bfff; }
.pds-tile h3 { font-family: "Titillium Web", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; font-size: 21px; color: #1b1f4b; margin-bottom: 0.5rem; }
.pds-tile p { font-size: 16px; line-height: 1.55; color: #44506b; margin: 0; }

/* --- cta band --- */
.pds-cta { position: relative; color: #fff; background: linear-gradient(120deg, #0d1233, #1b1f4b 60%, #162f6e); overflow: hidden; padding: 4.5rem 0; text-align: center; }
.pds-cta::before { content: ""; position: absolute; inset: 0; background: url(../img/herobg.jpg) center center / cover no-repeat; opacity: 0.12; }
.pds-cta .container { position: relative; }
.pds-cta h2 { font-weight: 700; font-size: clamp(30px, 4vw, 44px); margin-bottom: 1rem; }
.pds-cta p { font-family: "Titillium Web", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; font-size: clamp(17px, 1.6vw, 20px); color: #d7e7f5; max-width: 680px; margin: 0 auto 2rem; }
.pds-cta-btns { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }

/* --- scroll reveal (body.pds-anim is added by jQuery) --- */
@media (prefers-reduced-motion: no-preference) {
  body.pds-anim .pds-reveal { opacity: 0; transform: translateY(26px); transition: opacity 0.6s ease, transform 0.6s ease; }
  body.pds-anim .pds-reveal.pds-visible { opacity: 1; transform: none; }
}

/* --- responsive refinements --- */

/* mobile large / small tablets (576px+) */
@media (min-width: 576px) {
  .pds-hero { padding: 50px 0 5rem; }
}

/* tablets (768px+) */
@media (min-width: 768px) {
  .pds-hero { padding: 50px 0 5.5rem; }
  .pds-hero-cta .pds-btn { width: auto; }
}

/* laptops (992px+) */
@media (min-width: 992px) {
  .pds-hero { text-align: left; padding: 50px 0 6.5rem; }
  .pds-hero .pds-lede { margin: 0 0 2rem; }
  .pds-hero-cta { justify-content: flex-start; }
  .pds-hero-points { justify-content: flex-start; }
  .pds-strip { padding: 3.5rem 0; }
  .pds-products, .pds-features, .pds-about { padding: 5rem 0; }
  .pds-cta { padding: 5rem 0; }
}

/* widescreen (1200px+) */
@media (min-width: 1200px) {
  .pds-hero { padding: 50px 0 7rem; }
  .pds-hero h1 { font-size: 64px; }
  .pds-products, .pds-features, .pds-about { padding: 5.5rem 0; }
  .pds-cta { padding: 5.5rem 0; }
}
