/* ============================================
   SHARED PAGE STYLES - Alliance Affiliates
   ============================================ */

/* GLOBAL OVERFLOW FIX */
html { overflow-x: hidden; }
body { overflow-x: hidden; max-width: 100%; }
img  { max-width: 100%; height: auto; }

:root {
  --primary: #0a2463;
  --accent:  #0492b7;
  --light:   #f4f7fb;
  --dark:    #1a1a2e;
  --text:    #555;
  --white:   #fff;
  --radius:  16px;
}

/* ---- PAGE HERO ---- */
.page-hero {
  background: linear-gradient(135deg, #0a2463 0%, #0492b7 100%);
  padding: 60px 0 50px;
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  content:''; position:absolute;
  width:550px; height:550px;
  background:rgba(255,255,255,.04);
  border-radius:50%; top:-160px; right:-120px;
}
.page-hero::after {
  content:''; position:absolute;
  width:320px; height:320px;
  background:rgba(255,255,255,.04);
  border-radius:50%; bottom:-80px; left:-80px;
}
.page-hero-inner { position:relative; z-index:2; }
.page-breadcrumb {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.12);
  color:rgba(255,255,255,.85);
  padding:6px 18px; border-radius:50px;
  font-size:13px; margin-bottom:18px;
  border:1px solid rgba(255,255,255,.2);
}
.page-hero h1 {
  font-size:clamp(1.6rem,5vw,3.2rem);
  font-weight:800; color:#fff; margin-bottom:14px;
}
.page-hero p {
  color:rgba(255,255,255,.8); font-size:1rem;
  max-width:560px; line-height:1.7; margin:0;
}

/* ---- SECTION TAG ---- */
.s-tag {
  display:inline-block;
  background:#e8f4fd; color:var(--accent);
  padding:5px 16px; border-radius:50px;
  font-size:12px; font-weight:700;
  letter-spacing:1px; text-transform:uppercase;
  margin-bottom:12px;
}
.s-heading {
  font-size:clamp(1.4rem,3vw,2.3rem);
  font-weight:800; color:var(--dark); margin-bottom:14px;
}
.s-sub { color:var(--text); font-size:1rem; line-height:1.75; }

/* ---- CTA BUTTON ---- */
.btn-primary-modern {
  display:inline-flex; align-items:center; gap:8px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff; padding:13px 28px; border-radius:50px;
  font-weight:700; font-size:14px; text-decoration:none;
  transition:all .3s; border:none; cursor:pointer;
}
.btn-primary-modern:hover {
  opacity:.9; transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(4,146,183,.35); color:#fff;
}
.btn-outline-modern {
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; color:var(--primary);
  padding:12px 26px; border-radius:50px;
  font-weight:700; font-size:14px; text-decoration:none;
  border:2px solid var(--primary); transition:all .3s;
}
.btn-outline-modern:hover { background:var(--primary); color:#fff; }

/* ---- DIVIDER ---- */
.section-divider {
  width:60px; height:4px;
  background:linear-gradient(90deg,var(--primary),var(--accent));
  border-radius:4px; margin:14px 0 22px;
}

/* ============================================
   MOBILE RESPONSIVE - All Pages
   ============================================ */

/* --- TABLET (max 991px) --- */
@media(max-width:991px) {
  /* Hero */
  .page-hero { padding:55px 0 45px; }
  .cp-hero   { padding:55px 0 45px !important; }

  /* About page */
  .about-intro  { padding:60px 0; }
  .about-stats  { padding:50px 0; }
  .mvv-section  { padding:60px 0; }
  .why-us       { padding:60px 0; }
  .leadership-section { padding:60px 0; }
  .industries   { padding:55px 0; }
  .cta-banner   { padding:60px 0; }
  .about-exp-badge { right:0; bottom:0; }

  /* Services page */
  .services-intro  { padding:60px 0; }
  .services-grid   { padding:60px 0; }
  .process-section { padding:60px 0; }
  .certs-section   { padding:55px 0; }
  .faq-section     { padding:60px 0; }
  .step-wrap::after { display:none; }

  /* Contact page */
  .cp-strip-item { border-right:none; border-bottom:1px solid #eef2f7; }
  .cp-main  { padding:60px 0; }
  .cp-why   { padding:55px 0; }
  .cp-form-card { padding:32px 28px; }
}

/* --- MOBILE (max 767px) --- */
@media(max-width:767px) {
  /* Hero */
  .page-hero { padding:45px 0 35px; }
  .page-hero h1 { font-size:1.7rem; }
  .page-hero p  { font-size:.95rem; }
  .cp-hero { padding:45px 0 35px !important; }
  .cp-hero h1 { font-size:1.7rem !important; }
  .cp-hero p  { font-size:.95rem !important; }

  /* Floating buttons - smaller on mobile */
  .float-actions { right:14px; bottom:70px; gap:10px; }
  .float-btn { width:46px; height:46px; font-size:19px; }
  .float-btn::before { display:none; }

  /* About page */
  .about-intro { padding:50px 0; }
  .about-img-wrap { margin-bottom:50px; }
  .about-exp-badge { right:10px; bottom:-10px; padding:16px 20px; }
  .about-exp-badge .num { font-size:1.8rem; }
  .astat .num { font-size:2rem; }
  .mvv-card { padding:26px 22px; }
  .why-item { padding:18px; }
  .leader-body { padding:20px 22px; }
  .industry-chip { font-size:13px; padding:8px 14px; }
  .cta-banner h2 { font-size:1.5rem; }
  .cta-banner p  { font-size:.9rem; }
  .btn-cta-white, .btn-cta-outline { padding:12px 24px; font-size:14px; width:100%; justify-content:center; margin:5px 0; }

  /* Services page */
  .svc-card { padding:24px 18px; }
  .svc-icon { width:50px; height:50px; font-size:20px; }
  .svc-card h3 { font-size:15px; }
  .step-circle { width:56px; height:56px; font-size:18px; }
  .step-wrap h4 { font-size:14px; }
  .cert-card { padding:22px 16px; }
  .cert-icon-wrap { width:52px; height:52px; font-size:20px; }
  .cert-card h4 { font-size:14px; }
  .faq-q { font-size:14px; padding:16px 18px; }
  .faq-ans { font-size:13px; }
  .faq-item.open .faq-ans { padding:0 18px 16px; }
  .svc-cta h2 { font-size:1.5rem; }
  .svc-cta p  { font-size:.9rem; }
  .btn-w, .btn-o { width:100%; justify-content:center; margin:5px 0; padding:13px 20px; }
  .ind-item i { font-size:1.6rem; }
  .ind-item span { font-size:12px; }

  /* Contact page */
  .cp-strip-item { padding:18px 20px; }
  .cp-strip-icon { width:42px; height:42px; font-size:16px; }
  .cp-info-card { padding:20px 18px; }
  .cp-info-icon { width:42px; height:42px; font-size:16px; }
  .cp-form-card { padding:24px 18px; }
  .cp-form-card h2 { font-size:1.4rem; }
  .cp-submit { padding:14px 24px; font-size:14px; }
  .cp-why-card { padding:24px 18px; }
  .cp-why-icon { width:50px; height:50px; font-size:18px; }
  .cp-social-box { padding:22px 18px; }

  /* Home page hero */
  .hero-section { min-height:auto; padding:80px 0 60px; }
  .hero-title { font-size:1.8rem; }
  .hero-subtitle { font-size:.95rem; }
  .hero-stats { gap:20px; }
  .hero-stat-num { font-size:1.6rem; }
  .hero-float-card { display:none; }
  .hero-btns { flex-direction:column; }
  .btn-hero-primary, .btn-hero-outline { width:100%; justify-content:center; }

  /* Home about section */
  .about-modern { padding:55px 0; }
  .about-modern .about-exp-badge { right:0; bottom:0; }

  /* Home services */
  .services-modern { padding:55px 0; }
  .service-card-modern { padding:24px 20px; }

  /* Home leadership */
  .leadership-modern { padding:55px 0; }

  /* Home value adds */
  .value-adds { padding:55px 0; }

  /* Home contact */
  .contact-modern { padding:55px 0; }
  .contact-info-card { padding:32px 24px; margin-bottom:0; }
  .contact-form-card { padding:28px 20px; }

  /* General spacing */
  .container { padding-left:16px; padding-right:16px; }
  .row.g-5 { --bs-gutter-y:2rem; }
  .ps-lg-5 { padding-left:0 !important; }
  .mb-5 { margin-bottom:2rem !important; }
  .text-center.mb-5 { margin-bottom:2rem !important; }
}

/* --- SMALL MOBILE (max 480px) --- */
@media(max-width:480px) {
  .page-hero h1, .cp-hero h1 { font-size:1.5rem !important; }
  .s-heading { font-size:1.3rem; }
  .hero-title { font-size:1.6rem; }
  .astat .num { font-size:1.8rem; }
  .cert-card { padding:18px 12px; }
  .cert-icon-wrap { width:46px; height:46px; font-size:18px; }
  .svc-card { padding:20px 16px; }
  .cp-form-card { padding:20px 14px; }
  .leader-top { padding:30px 20px 18px; }
  .leader-top img { width:90px; height:90px; }
  .leader-top h3 { font-size:1rem; }
  .faq-q { font-size:13px; padding:14px 16px; }
  .float-btn { width:42px; height:42px; font-size:17px; }
  .float-actions { right:10px; bottom:60px; }
}