/* ── Reset & Base ────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      color: #113533;
      background: #fff;
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }
    img { max-width: 100%; display: block; }
    a { color: inherit; text-decoration: none; }
    ul, ol { list-style: none; }

    /* ── Utilities ───────────────────────────────────── */
    .container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
    .section-title { font-size: 2rem; font-weight: 800; margin-bottom: 16px; letter-spacing: -0.02em; }
    .section-sub { max-width: 680px; color: #4b5563; font-size: 1.125rem; margin-bottom: 40px; }
    .prose p { color: #374151; font-size: 1.0625rem; line-height: 1.8; margin-bottom: 20px; }
    .prose p:last-child { margin-bottom: 0; }
    .max-prose { max-width: 740px; }
    .btn {
      display: inline-flex; align-items: center; justify-content: center;
      padding: 14px 32px; border-radius: 10px; font-weight: 600; font-size: 1rem;
      transition: all 0.2s ease; cursor: pointer; border: none;
    }
    .btn-primary { background: #1e5a6e; color: #fff; }
    .btn-primary:hover { background: #1c89ad; transform: translateY(-1px); box-shadow: 0 4px 14px rgb(70 163 229 / 40%); }
    .btn-outline { border: 2px solid #1e5a6e; color: #1e5a6e; background: transparent; }
    .btn-outline:hover { background: #1e5a6e; color: #fff; }
    .btn-white { background: #fff; color: #1e5a6e; }
    .btn-white:hover { background: #d3dce3; transform: translateY(-1px); }

    /* ── Animations ──────────────────────────────────── */
    @keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
    .fade-up { animation: fadeUp 0.6s ease forwards; }
    .fade-up-d1 { animation-delay: 0.1s; opacity: 0; }
    .fade-up-d2 { animation-delay: 0.2s; opacity: 0; }
    .fade-up-d3 { animation-delay: 0.3s; opacity: 0; }

    /* ── Header / Nav ───────────────────────────────── */
    header {
      position: sticky; top: 0; z-index: 100;
      background: rgba(255,255,255,0.92); backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(0,0,0,0.06);
    }
    nav {
      display: flex; align-items: center; gap: 8px;
      max-width: 1140px; margin: 0 auto; padding: 0 24px; height: 64px;
    }
    .nav-logo { font-size: 1.4rem; font-weight: 800; letter-spacing: -0.02em; color: #1e5a6e; margin-right: auto; }
    .nav-links { display: flex; align-items: center; gap: 32px; }
    .nav-links a { font-size: 0.9375rem; font-weight: 500; color: #4b5563; transition: color 0.15s; }
    .nav-links a:hover { color: #1e5a6e; }
    .nav-cta { display: flex; align-items: center; gap: 16px; margin-left: 24px; }
    .nav-cta .signin { font-size: 0.9375rem; font-weight: 500; color: #4b5563; }
    .nav-cta .signin:hover { color: #1e5a6e; }
    .nav-cta .btn { padding: 10px 24px; font-size: 0.9375rem; }
    .nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
    .nav-toggle span { display: block; width: 22px; height: 2px; background: #1e1b4b; margin: 5px 0; border-radius: 2px; transition: 0.3s; }

    /* ── Page Hero ───────────────────────────────────── */
    .page-hero {
      background: linear-gradient(135deg, #1e5a6e 0%, #3595a5 40%, #1e5a6e 100%);
      color: #fff;
      padding: 100px 0 80px;
    }
    .page-hero h1 { font-size: 3rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1.15; max-width: 820px; margin-bottom: 24px; }
    .page-hero p { font-size: 1.25rem; color: rgba(255,255,255,0.82); max-width: 620px; line-height: 1.7; margin-bottom: 40px; }
    .hero-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
    .hero-small { font-size: 0.875rem; color: rgba(255,255,255,0.5); margin-top: 14px; }

    /* ── Content Sections ────────────────────────────── */
    .content-section { padding: 80px 0; }
    .section-alt { background: #f8f7ff; }

    /* ── Reality Cards (Section 1) ───────────────────── */
    .reality-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 760px; margin-top: 36px; }
    .reality-card {
      padding: 28px 24px; border-radius: 12px; background: #fff;
      border: 1px solid #e5e7eb; transition: border-color 0.2s;
    }
    .reality-card:hover { border-color: #a7c5cc; }
    .reality-label {
      display: inline-block; font-size: 0.75rem; font-weight: 700; text-transform: uppercase;
      letter-spacing: 0.06em; color: #9ca3af; margin-bottom: 10px;
    }
    .reality-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: 10px; color: #113533; }
    .reality-card p { font-size: 0.9375rem; color: #4b5563; line-height: 1.7; margin: 0; }

    /* ── Definition List (Section 2) ─────────────────── */
    .definition-list { display: flex; flex-direction: column; gap: 24px; max-width: 740px; margin-top: 32px; }
    .definition-item { display: flex; gap: 20px; align-items: flex-start; }
    .definition-icon {
      flex-shrink: 0; width: 44px; height: 44px; border-radius: 10px;
      background: #d3dce3; display: flex; align-items: center;
      justify-content: center; font-size: 1.25rem; margin-top: 2px;
    }
    .definition-item h3 { font-size: 1rem; font-weight: 700; margin-bottom: 6px; color: #113533; }
    .definition-item p { font-size: 0.9375rem; color: #4b5563; line-height: 1.7; margin: 0; }

    /* ── Qualify List (Section 3) ────────────────────── */
    .qualify-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 760px; margin-top: 36px; }
    .qualify-card {
      padding: 28px 24px; border-radius: 12px; border: 1px solid #e5e7eb;
      background: #fff; transition: border-color 0.2s;
    }
    .qualify-card:hover { border-color: #a7c5cc; }
    .qualify-check { font-size: 1.25rem; margin-bottom: 12px; }
    .qualify-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: 8px; color: #059669; }
    .qualify-card p { font-size: 0.9375rem; color: #4b5563; line-height: 1.7; margin: 0; }

    /* ── Comparison Table ────────────────────────────── */
    .comparison-wrap { max-width: 820px; margin-top: 48px; overflow-x: auto; }
    .comparison-table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
    .comparison-table thead tr { background: #1e5a6e; color: #fff; }
    .comparison-table thead th { padding: 16px 20px; text-align: left; font-weight: 700; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.04em; }
    .comparison-table thead th:first-child { border-radius: 12px 0 0 0; }
    .comparison-table thead th:last-child { border-radius: 0 12px 0 0; }
    .comparison-table tbody tr { border-bottom: 1px solid #e5e7eb; transition: background 0.15s; }
    .comparison-table tbody tr:last-child { border-bottom: none; }
    .comparison-table tbody tr:hover { background: #f8f7ff; }
    .comparison-table tbody td { padding: 16px 20px; color: #374151; vertical-align: top; }
    .comparison-table tbody td:first-child { font-weight: 600; color: #113533; width: 30%; }
    .comparison-table .col-enterprise { color: #6b7280; }
    .comparison-table .col-everstep { color: #1e5a6e; font-weight: 600; }
    .comparison-table .col-header-enterprise { background: rgba(255,255,255,0.12); }
    .comparison-table .col-header-everstep { background: rgba(255,255,255,0.2); }

    /* ── Everstep Fit Cards (Section 4) ─────────────── */
    .fit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; max-width: 860px; }
    .fit-card {
      padding: 32px 24px; border-radius: 14px; background: #fff;
      border: 1px solid #e5e7eb; transition: all 0.25s;
    }
    .fit-card:hover { border-color: #a7c5cc; transform: translateY(-3px); box-shadow: 0 10px 28px rgba(30,90,110,0.08); }
    .fit-icon { width: 44px; height: 44px; border-radius: 10px; background: #d3dce3; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; margin-bottom: 16px; }
    .fit-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: 10px; color: #113533; }
    .fit-card p { font-size: 0.9375rem; color: #6b7280; line-height: 1.6; margin: 0; }

    /* ── CTA Banner ──────────────────────────────────── */
    .cta-banner {
      background: linear-gradient(135deg, #1b434b 0%, #2e7081 40%, #1e626e 100%);
      color: #fff; text-align: center; padding: 80px 0; position: relative; overflow: hidden;
    }
    .cta-banner::before {
      content: ''; position: absolute; inset: 0;
      background: radial-gradient(circle at 30% 50%, rgb(99 241 189 / 30%) 0%, transparent 50%);
    }
    .cta-banner .container { position: relative; z-index: 1; }
    .cta-banner h2 { font-size: 2.25rem; font-weight: 800; margin-bottom: 16px; letter-spacing: -0.02em; }
    .cta-banner p { color: rgba(255,255,255,0.7); font-size: 1.125rem; margin-bottom: 32px; }
    .cta-banner small { display: block; margin-top: 16px; color: rgba(255,255,255,0.5); font-size: 0.875rem; }

    /* ── Footer ──────────────────────────────────────── */
    footer { padding: 48px 0; border-top: 1px solid #e5e7eb; background: #fafafa; }
    .footer-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
    .footer-logo { font-size: 1.125rem; font-weight: 800; color: #1e5a6e; }
    .footer-links { display: flex; gap: 24px; }
    .footer-links a { font-size: 0.875rem; color: #6b7280; transition: color 0.15s; }
    .footer-links a:hover { color: #1e5a6e; }
    .footer-copy { font-size: 0.8125rem; color: #9ca3af; }

    /* ── Misc ────────────────────────────────────────── */
    .section-divider { border: none; border-top: 1px solid #e5e7eb; margin: 0; }
    .breadcrumb-bar { padding: 14px 0; background: #f8f7ff; border-bottom: 1px solid #e5e7eb; }
    .breadcrumb-bar nav { font-size: 0.875rem; color: #6b7280; }
    .breadcrumb-bar a { color: #1e5a6e; }
    .breadcrumb-bar a:hover { text-decoration: underline; }
    .breadcrumb-sep { margin: 0 8px; color: #9ca3af; }

    /* ── Responsive ──────────────────────────────────── */
    @media (max-width: 768px) {
      .page-hero h1 { font-size: 2.25rem; }
      .page-hero { padding: 72px 0 56px; }
      .content-section { padding: 56px 0; }
      .section-title { font-size: 1.625rem; }
      .nav-links, .nav-cta { display: none; }
      .nav-links.open, .nav-cta.open {
        display: flex; flex-direction: column; position: absolute;
        top: 64px; left: 0; right: 0; background: #fff; padding: 24px;
        border-bottom: 1px solid #e5e7eb; box-shadow: 0 8px 24px rgba(0,0,0,0.08);
      }
      .nav-cta.open { top: auto; padding-top: 0; box-shadow: none; border-bottom: none; }
      .nav-toggle { display: block; }
      .reality-grid, .qualify-grid { grid-template-columns: 1fr; }
      .fit-grid { grid-template-columns: 1fr; }
      .hero-actions { flex-direction: column; }
      .hero-actions .btn { width: 100%; max-width: 300px; }
      .footer-inner { flex-direction: column; text-align: center; }
      .comparison-table tbody td:first-child { width: auto; }
    }
