/* Page-specific styles (externalised for CSP style-src 'self') */

/* Asset name kept neutral: filenames containing "-ai" are matched by some
   ad-blocker filter lists, which would leave the page unstyled. */

    /* ── Page-specific styles ── */

    .breadcrumb {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.8125rem;
      color: rgba(26, 26, 46, 0.48);
      margin-bottom: var(--space-sm);
    }

    .breadcrumb a {
      color: var(--color-navy);
      font-weight: 500;
      transition: opacity 150ms;
    }
    .breadcrumb a:hover { opacity: 0.75; }
    .breadcrumb span { line-height: 1; }

    /* ── Hero bundle list ── */
    .hero__bundle-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    .hero__bundle {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: var(--space-sm);
      padding: 10px 0;
      border-bottom: 1px solid rgba(26, 26, 46, 0.08);
      font-weight: 700;
      font-size: 0.9375rem;
      color: rgba(26, 26, 46, 0.42);
    }

    .hero__bundle:last-child { border-bottom: 0; }

    .hero__bundle span {
      font-weight: 400;
      font-size: 0.8125rem;
      color: rgba(26, 26, 46, 0.42);
      text-align: right;
    }

    .hero__bundle--live { color: var(--color-navy); }
    .hero__bundle--live span { color: rgba(26, 26, 46, 0.62); }

    /* ── Problem cards ── */
    .problem-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-md);
    }

    .problem-card {
      padding: var(--space-lg) var(--space-md);
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
    }

    .problem-card__icon {
      width: 48px;
      height: 48px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(231, 25, 31, 0.09);
      border-radius: var(--radius-md);
      color: var(--color-red);
      flex-shrink: 0;
    }

    .problem-card h3 { font-size: 1.125rem; }

    .problem-card p {
      font-size: 0.9375rem;
      color: rgba(26, 26, 46, 0.68);
      line-height: 1.65;
    }

    /* ── Scenario flow (navy bg) ── */
    .scenario-flow {
      list-style: none;
      margin: 0 auto;
      padding: 0;
      max-width: 780px;
      display: flex;
      flex-direction: column;
      gap: var(--space-md);
    }

    .scenario-step {
      display: flex;
      align-items: flex-start;
      gap: var(--space-md);
      padding-bottom: var(--space-md);
      border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    }

    .scenario-step:last-child {
      border-bottom: 0;
      padding-bottom: 0;
    }

    .scenario-step__num {
      flex-shrink: 0;
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: var(--radius-pill);
      background: rgba(255, 255, 255, 0.10);
      border: 1px solid rgba(255, 255, 255, 0.18);
      color: var(--color-white);
      font-weight: 700;
      font-size: 0.9375rem;
    }

    .scenario-step__body h3 {
      color: var(--color-white);
      font-size: 1.0625rem;
      margin-bottom: 6px;
    }

    .scenario-step__body p {
      font-size: 0.9375rem;
      color: rgba(255, 255, 255, 0.65);
      line-height: 1.65;
    }

    .scenario-punch {
      max-width: 780px;
      margin: var(--space-lg) auto 0;
      text-align: center;
      font-size: 1.375rem;
      font-weight: 700;
      color: var(--color-white);
      letter-spacing: -0.01em;
    }

    /* ── Method cards ── */
    .method-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: var(--space-md);
    }

    .method-card {
      padding: var(--space-md);
      display: flex;
      flex-direction: column;
      gap: var(--space-xs);
    }

    .method-card h3 {
      font-size: 1rem;
      color: var(--color-charcoal);
    }

    .method-card p {
      font-size: 0.875rem;
      color: rgba(26, 26, 46, 0.65);
      line-height: 1.6;
    }

    /* ── Bundle cards ── */
    .bundle-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: var(--space-md);
    }

    .bundle-card {
      padding: var(--space-lg) var(--space-md);
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
    }

    .bundle-card__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--space-sm);
    }

    .bundle-card__head h3 {
      font-size: 1.375rem;
      letter-spacing: -0.01em;
    }

    .bundle-badge {
      flex-shrink: 0;
      padding: 4px 12px;
      border-radius: var(--radius-pill);
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.01em;
    }

    .bundle-badge--live {
      background: rgba(6, 68, 108, 0.10);
      color: var(--color-navy);
    }

    .bundle-card__lead {
      font-size: 0.9375rem;
      font-weight: 500;
      color: rgba(26, 26, 46, 0.72);
    }

    .bundle-card__specs {
      margin: 0;
      display: grid;
      grid-template-columns: auto;
      gap: 2px;
    }

    .bundle-card__specs dt {
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: rgba(26, 26, 46, 0.42);
      margin-top: var(--space-sm);
    }

    .bundle-card__specs dd {
      margin: 0;
      font-size: 0.9375rem;
      color: rgba(26, 26, 46, 0.72);
      line-height: 1.6;
    }

    /* ── Roadmap strip ── */
    .roadmap {
      margin-top: var(--space-lg);
      padding-top: var(--space-md);
      border-top: 1px solid rgba(26, 26, 46, 0.10);
    }

    .roadmap__label {
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: rgba(26, 26, 46, 0.42);
      margin-bottom: var(--space-sm);
    }

    .roadmap-strip {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: var(--space-sm);
    }

    .roadmap-item {
      padding: var(--space-sm);
      border: 1px dashed rgba(26, 26, 46, 0.18);
      border-radius: var(--radius-sm);
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .roadmap-item__name {
      font-weight: 700;
      font-size: 0.9375rem;
      color: rgba(26, 26, 46, 0.62);
    }

    .roadmap-item__desc {
      font-size: 0.8125rem;
      color: rgba(26, 26, 46, 0.52);
      line-height: 1.5;
    }

    .bundle-closing {
      max-width: 780px;
      margin: var(--space-lg) auto 0;
      text-align: center;
      font-size: 1rem;
      color: rgba(26, 26, 46, 0.72);
      line-height: 1.7;
    }

    /* ── FAQ ── */
    .faq__list {
      display: flex;
      flex-direction: column;
      gap: 10px;
      max-width: 800px;
      margin: 0 auto;
    }

    details.faq-item {
      background: var(--glass-bg);
      backdrop-filter: var(--glass-blur);
      -webkit-backdrop-filter: var(--glass-blur);
      border: 1px solid var(--glass-border);
      border-radius: var(--radius-md);
      overflow: hidden;
      transition: box-shadow 200ms var(--ease-smooth);
    }

    details.faq-item[open] {
      box-shadow: var(--glass-shadow);
    }

    summary.faq-q {
      list-style: none;
      padding: 20px var(--space-md);
      cursor: pointer;
      font-weight: 700;
      font-size: 1rem;
      color: var(--color-charcoal);
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: var(--space-sm);
      user-select: none;
    }

    summary.faq-q::-webkit-details-marker { display: none; }

    .faq-toggle {
      flex-shrink: 0;
      width: 20px;
      height: 20px;
      color: var(--color-navy);
      transition: transform 250ms var(--ease-smooth);
    }

    details[open] .faq-toggle {
      transform: rotate(45deg);
    }

    .faq-a {
      padding: 0 var(--space-md) var(--space-md);
      font-size: 0.9375rem;
      color: rgba(26, 26, 46, 0.70);
      line-height: 1.7;
    }

    /* ── Responsive ── */
    @media (max-width: 1024px) {
      .method-grid { grid-template-columns: repeat(2, 1fr); }
      .roadmap-strip { grid-template-columns: repeat(2, 1fr); }
      .problem-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 768px) {
      .method-grid { grid-template-columns: 1fr; }
      .bundle-grid { grid-template-columns: 1fr; }
      .roadmap-strip { grid-template-columns: 1fr; }
      .scenario-step { gap: var(--space-sm); }
      .scenario-punch { font-size: 1.125rem; }
    }
