/*
     * SEO SERVICES BRAND PALETTE
     * Navy primary  : #192966
     * Navy dark     : #11172F
     * Navy heading  : #1F2441
     * Cyan accent   : #4BD2FD
     * Cyan hover    : #2AC0F0
     * Gold accent   : #F4A800
     * Gold light    : #FFD76C
     * Body text     : #33373D
     * Muted text    : #696C7E
     * BG light      : #F5F5F5
     * BG surface    : #F1F4F4
     * BG card soft  : #DDEBEF
     * Border        : #DDEBEF
     */

    /* ─── Reset ─────────────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Poppins', sans-serif;
      background: #F5F5F5;
      color: #33373D;
      font-size: 14px;
      line-height: 1.65;
    }

    /* ─── Material Symbols ───────────────────────────────────── */
    .material-symbols-outlined {
      font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
      vertical-align: middle;
    }
    .material-symbols-outlined.filled {
      font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    }

    /* ─── Top accent bar (brand signature) ───────────────────── */
    .top-bar {
      background: #4BD2FD;
      height: 5px;
      width: 100%;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 100;
    }

    /* ─── Nav ────────────────────────────────────────────────── */
    .nav {
      background: #192966;
      position: fixed;
      top: 5px;           /* below the accent bar */
      left: 0;
      right: 0;
      z-index: 50;
      box-shadow: 0 4px 12px rgba(25, 41, 102, 0.3);
    }
    .nav-inner {
      max-width: 80rem;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 64px;
      padding: 0 20px;
    }
    .nav-logo {
      font-size: 20px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: -0.05em;
      color: #ffffff;
      text-decoration: none;
    }
    .nav-logo span { color: #4BD2FD; }
    .nav-links {
      display: none;
      align-items: center;
      gap: 24px;
    }
    .nav-links a {
      font-size: 9px;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.75);
      text-decoration: none;
      transition: color 0.2s;
    }
    .nav-links a:hover { color: #4BD2FD; }
    .btn-nav {
      background: #4BD2FD;
      color: #192966;
      font-family: 'Poppins', sans-serif;
      font-weight: 700;
      font-size: 9px;
      padding: 8px 20px;
      border-radius: 9999px;
      text-decoration: none;
      white-space: nowrap;
      transition: background 0.2s, transform 0.1s;
      display: inline-block;
    }
    .btn-nav:hover { background: #2AC0F0; }
    .btn-nav:active { transform: scale(0.95); }

    /* ─── Hero ───────────────────────────────────────────────── */
    

    .hero {
      position: relative;
      overflow: hidden;
      padding: 80px 24px 128px;
      background: #192966;
    }
    /* subtle grid/dot texture */
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: radial-gradient(circle, rgba(75, 210, 253, 0.08) 1px, transparent 1px);
      background-size: 32px 32px;
      pointer-events: none;
    }
    .hero-inner {
      max-width: 56rem;
      margin: 0 auto;
      text-align: center;
      position: relative;
      z-index: 10;
    }
    .eyebrow {
      font-size: 9px;
      font-weight: 600;
      letter-spacing: 1.5px;
      line-height: 1;
      text-transform: uppercase;
      display: block;
    }
    .hero-eyebrow {
      color: #4BD2FD;
      margin-bottom: 6px;
    }
    .hero-h1 {
      font-weight: 800;
      line-height: 1.1;
      color: #ffffff;
      margin-bottom: 24px;
      font-size: 32px;
    }
    .hero-h1 span { color: #4BD2FD; }
    .hero-desc {
      color: rgba(255, 255, 255, 0.75);
      font-size: 18px;
      line-height: 1.65;
      max-width: 42rem;
      margin: 0 auto 40px;
    }
    .hero-btns {
      display: flex;
      flex-direction: column;
      gap: 16px;
      justify-content: center;
      align-items: center;
    }
    .btn-primary {
      background: #4BD2FD;
      color: #192966;
      font-family: 'Poppins', sans-serif;
      font-weight: 700;
      font-size: 18px;
      padding: 16px 32px;
      border-radius: 9999px;
      text-decoration: none;
      display: inline-block;
      box-shadow: 0 10px 20px rgba(75, 210, 253, 0.3);
      transition: background 0.2s, box-shadow 0.2s;
    }
    .btn-primary:hover {
      background: #2AC0F0;
      box-shadow: 0 16px 28px rgba(75, 210, 253, 0.4);
    }
    .btn-outline {
      background: transparent;
      border: 2px solid rgba(255, 255, 255, 0.4);
      color: #ffffff;
      font-family: 'Poppins', sans-serif;
      font-weight: 700;
      font-size: 18px;
      padding: 16px 32px;
      border-radius: 9999px;
      text-decoration: none;
      display: inline-block;
      transition: border-color 0.2s, background 0.2s;
    }
    .btn-outline:hover {
      border-color: #4BD2FD;
      background: rgba(75, 210, 253, 0.08);
    }

    /* ─── Clients ────────────────────────────────────────────── */
    .clients {
      padding: 48px 0;
      background: #F1F4F4;
    }
    .clients-inner {
      max-width: 80rem;
      margin: 0 auto;
      padding: 0 24px;
      text-align: center;
    }
    .clients-eyebrow {
      color: #F4A800;
      margin-bottom: 32px;
    }
    .clients-logos {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 48px;
      opacity: 0.5;
      filter: grayscale(100%);
      transition: opacity 0.4s, filter 0.4s;
    }
    .clients-logos:hover {
      opacity: 1;
      filter: grayscale(0%);
    }
    .client-logo img {
      height: 56px;
      width: 96px;
      object-fit: contain;
      display: block;
    }

    /* ─── Process ────────────────────────────────────────────── */
    .process { padding: 32px 24px; background: #ffffff; }
    .process-inner { max-width: 80rem; margin: 0 auto; }
    .section-heading {
      font-size: 24px;
      font-weight: 700;
      line-height: 1.2;
      color: #1F2441;
    }
    .section-heading span { color: #F4A800; }
    .process .section-heading {
      text-align: center;
      margin-bottom: 64px;
    }
    .process-grid { display: grid; gap: 40px; }

    /* Process Card – Navy */
    .card-navy {
      background: #192966;
      color: #ffffff;
      padding: 40px;
      border-radius: 12px;
      box-shadow: 0 20px 40px rgba(25, 41, 102, 0.25);
      position: relative;
      overflow: hidden;
      border-top: 5px solid #4BD2FD;
    }
    /* Process Card – Light (replaces amber) */
    .card-light {
      background: #EBF7FD;
      color: #1F2441;
      padding: 40px;
      border-radius: 12px;
      box-shadow: 0 20px 40px rgba(25, 41, 102, 0.10);
      border-top: 5px solid #F4A800;
      position: relative;
      overflow: hidden;
    }
    .card-deco {
      position: absolute;
      top: 0;
      right: 0;
      padding: 16px;
      opacity: 0.07;
    }
    .card-deco .material-symbols-outlined { font-size: 120px; }
    .card-body { position: relative; z-index: 10; }

    .step-row {
      display: flex;
      align-items: center;
      gap: 16px;
      margin-bottom: 24px;
    }
    .step-num {
      width: 40px;
      height: 40px;
      border-radius: 9999px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      flex-shrink: 0;
    }
    .step-num-cyan  { background: #4BD2FD; color: #192966; }
    .step-num-navy  { background: #192966; color: #ffffff; }
    .step-num-gold  { background: #F4A800; color: #ffffff; }

    .step-title { font-size: 18px; font-weight: 700; line-height: 1.4; }
    .step-title-cyan  { color: #4BD2FD; }
    .step-title-navy  { color: #1F2441; }

    .step-desc { line-height: 1.65; margin-bottom: 40px; }
    .step-desc:last-child { margin-bottom: 0; }
    .step-desc-navy  { color: rgba(255, 255, 255, 0.65); }
    .step-desc-light { color: #33373D; }

    /* ─── Why Section ────────────────────────────────────────── */
    .why { padding: 32px 24px; background: #F1F4F4; }
    .why-content{
            display: flex;
    flex-direction: column;
    align-items: center;
    }
    .why-inner { max-width: 80rem; margin: 0 auto; }
    .why-header { text-align: center; margin-bottom: 64px; }
    .why-header h2 {
      font-size: 24px;
      font-weight: 700;
      line-height: 1.2;
      color: #1F2441;
      margin-bottom: 16px;
    }
    .why-header p { max-width: 42rem; margin: 0 auto; color: #33373D; }
    .why-grid { display: grid; gap: 32px; }
    .why-card {
      background: #ffffff;
      padding: 32px;
      border-radius: 8px;
      box-shadow: 0 2px 8px rgba(25, 41, 102, 0.06);
      border-bottom: 4px solid #F4A800;
    }
    .why-card-icon { color: #192966; margin-bottom: 24px; }
    .why-card-icon .material-symbols-outlined { font-size: 36px; }
    .why-card h4 { font-size: 14px; font-weight: 700; line-height: 1.4; color: #1F2441; margin-bottom: 16px; }
    .why-card p  { font-size: 14px; color: #33373D; line-height: 1.65; }

    /* ─── Selection Mechanism ────────────────────────────────── */
    .selection { padding: 32px 24px; background: #ffffff; }
    .selection-inner { max-width: 80rem; margin: 0 auto; }
    .selection-header { text-align: center; margin-bottom: 64px; }
    .selection-header h2 {
      font-size: 24px;
      font-weight: 700;
      line-height: 1.2;
      color: #1F2441;
      margin-bottom: 16px;
    }
    .selection-header p { color: #33373D; }

    /* Stage Tabs */
    .stage-tabs { margin-bottom: 80px; }
    .stage-tabs-inner {
      display: flex;
      flex-direction: column;
      gap: 24px;
      align-items: stretch;
    }
    .stage-card {
      flex: 1;
      background: #ffffff;
      padding: 24px;
      border-radius: 8px;
      border: 1px solid #DDEBEF;
      text-align: center;
    }
    .stage-card.featured {
      transform: scale(1.05);
      box-shadow: 0 8px 24px rgba(25, 41, 102, 0.15);
      border-color: #4BD2FD;
    }
    .stage-eyebrow {
      font-size: 9px;
      font-weight: 600;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: #F4A800;
      display: block;
      margin-bottom: 16px;
    }
    .stage-icon {
      display: flex;
      justify-content: center;
      margin-bottom: 16px;
      color: #192966;
    }
    .stage-icon .material-symbols-outlined { font-size: 30px; }
    .stage-title { font-size: 14px; font-weight: 700; color: #1F2441; margin-bottom: 8px; }
    .stage-desc  { font-size: 12px; color: #696C7E; margin-bottom: 16px; }
    .stage-dots  { display: flex; justify-content: center; gap: 4px; }
    .dot { width: 8px; height: 8px; border-radius: 9999px; }
    .dot-on  { background: #192966; }
    .dot-off { background: #DDEBEF; }
    .stage-arrow { display: none; align-items: center; color: #DDEBEF; }

    /* Accordion */
    .accordion-list {
      max-width: 48rem;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .accordion-item {
      background: #ffffff;
      border-radius: 8px;
      border: 1px solid #DDEBEF;
      overflow: hidden;
    }
    .accordion-btn {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 20px;
      text-align: left;
      font-family: 'Poppins', sans-serif;
      font-size: 10.5px;
      font-weight: 600;
      line-height: 1.5;
      color: #1F2441;
      background: none;
      border: none;
      cursor: pointer;
      transition: background 0.2s;
    }
    .accordion-btn:hover { background: #F1F4F4; }
    .accordion-icon {
      color: #4BD2FD;
      transition: transform 0.3s;
      flex-shrink: 0;
      margin-left: 12px;
    }
    .accordion-icon.open { transform: rotate(180deg); }
    .accordion-content {
      display: none;
      padding: 20px;
      border-top: 1px solid #DDEBEF;
      color: #33373D;
      font-size: 14px;
      line-height: 1.65;
    }
    .accordion-content.open { display: block; }

    /* ─── FAQ Dark ───────────────────────────────────────────── */
    .faq { padding: 32px 24px; background: #192966; color: #ffffff; }
    .faq-inner { max-width: 56rem; margin: 0 auto; }
    .faq h2 {
      font-size: 24px;
      font-weight: 700;
      line-height: 1.2;
      color: #4BD2FD;
      text-align: center;
      margin-bottom: 64px;
    }
    .faq-list { display: flex; flex-direction: column; gap: 40px; }
    .faq-item { display: grid; gap: 16px; }
    .faq-q { font-size: 14px; font-weight: 700; line-height: 1.4; color: #FFD76C; }
    .faq-a { color: rgba(255, 255, 255, 0.65); font-size: 14px; line-height: 1.65; }

    /* ─── CTA ────────────────────────────────────────────────── */
    .cta-section { padding: 96px 24px; background: #F1F4F4; }
    .cta-inner { max-width: 80rem; margin: 0 auto; }
    .cta-box {
      background: #11172F;
      border-radius: 16px;
      padding: 48px;
      text-align: center;
      color: #ffffff;
      box-shadow: 0 25px 50px rgba(17, 23, 47, 0.35);
      position: relative;
      overflow: hidden;
      border-top: 5px solid #4BD2FD;
    }
    /* subtle dot texture */
    .cta-box::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: radial-gradient(circle, rgba(75, 210, 253, 0.06) 1px, transparent 1px);
      background-size: 28px 28px;
      pointer-events: none;
    }
    .cta-box-inner { position: relative; z-index: 10; }
    .cta-h2 { font-weight: 800; line-height: 1.1; font-size: 32px; margin-bottom: 24px; }
    .cta-h2 span { color: #4BD2FD; }
    .cta-p {
      max-width: 42rem;
      margin: 0 auto 40px;
      font-size: 18px;
      line-height: 1.65;
      color: rgba(255, 255, 255, 0.7);
    }
    .btn-cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #4BD2FD;
      color: #192966;
      font-family: 'Poppins', sans-serif;
      font-weight: 700;
      font-size: 16px;
      padding: 20px 40px;
      border-radius: 9999px;
      text-decoration: none;
      transition: background 0.2s, transform 0.1s;
      box-shadow: 0 10px 24px rgba(75, 210, 253, 0.35);
    }
    .btn-cta:hover  { background: #2AC0F0; }
    .btn-cta:active { transform: scale(0.95); }

    /* ─── Footer ─────────────────────────────────────────────── */
    footer {
      background: #11172F;
      color: #ffffff;
      border-top: 1px solid rgba(75, 210, 253, 0.15);
      padding: 32px 24px;
    }
    .footer-inner {
      max-width: 80rem;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
      text-align: center;
    }
    .footer-brand-name {
      font-size: 24px;
      font-weight: 700;
      line-height: 1.2;
      color: #4BD2FD;
      margin-bottom: 8px;
    }
    .footer-brand-tagline {
      font-size: 8.5px;
      font-weight: 400;
      line-height: 1.55;
      color: rgba(255, 255, 255, 0.4);
    }
    .footer-links { display: flex; gap: 32px; flex-wrap: wrap; justify-content: center; }
    .footer-links a {
      font-size: 9px;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.45);
      text-decoration: none;
      transition: color 0.2s;
    }
    .footer-links a:hover { color: #4BD2FD; }
    .footer-copy { font-size: 12px; color: rgba(255, 255, 255, 0.3); }

    /* ─── Video embed ────────────────────────────────────────── */
    .video-wrap {
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 12px 32px rgba(25, 41, 102, 0.2);
      aspect-ratio: 16 / 9;
      flex: 0 0 48%;
    }
    .video-wrap iframe {
      width: 100%;
      height: 100%;
      display: block;
      border: 0;
    }

    /* ─── Why row (side-by-side) ─────────────────────────────── */
    .why-row {
      display: flex;
      flex-direction: column;
      gap: 40px;
      align-items: center;
    }
    .why-content {
      flex: 1;
    }
    .why-content .why-body {
      text-align: left;
      margin: 0 0 28px;
    }
    .why-content .section-cta {
      text-align: left;
    }

    /* ─── Inline CTAs ───────────────────────────────────────── */
    .section-cta {
      text-align: center;
      margin-top: 40px;
    }
    .btn-mid {
      background: #4BD2FD;
      color: #192966;
      font-family: 'Poppins', sans-serif;
      font-weight: 700;
      font-size: 14px;
      padding: 14px 28px;
      border-radius: 9999px;
      text-decoration: none;
      display: inline-block;
      box-shadow: 0 6px 12px rgba(75, 210, 253, 0.25);
      transition: background 0.2s, box-shadow 0.2s;
    }
    .btn-mid:hover { background: #2AC0F0; box-shadow: 0 10px 20px rgba(75, 210, 253, 0.35); }

    /* ─── Why (single-paragraph layout) ─────────────────────── */
    .why-body {
      max-width: 48rem;
      margin: 0 auto 36px;
      font-size: 16px;
      line-height: 1.75;
      color: #33373D;
      text-align: center;
    }

    /* ─── Responsive ─────────────────────────────────────────── */
    @media (min-width: 640px) {
      .hero-btns { flex-direction: row; }
    }
    @media (min-width: 768px) {
      .nav-links { display: flex; }
      .hero-h1 { font-size: 48px; letter-spacing: -0.02em; }
      .process-grid { grid-template-columns: 1fr 1fr; }
      .why-grid { grid-template-columns: repeat(3, 1fr); }
      .stage-tabs-inner { flex-direction: row; align-items: center; }
      .stage-arrow { display: flex; }
      .faq-item { grid-template-columns: 1fr 2fr; }
      .why-row { flex-direction: row; align-items: center; }
      .cta-h2 { font-size: 40px; }
      .footer-inner { flex-direction: row; justify-content: space-between; text-align: left; }
    }
