
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }


    body {
      background: #e9f2f9;
      font-family: 'Segoe UI', Roboto, system-ui, -apple-system, sans-serif;
      line-height: 1.5;
      color: #0b2b3d;
      padding: 24px 16px;
    }


    .container {
      max-width: 1280px;
      margin: 0 auto;
      background: white;
      border-radius: 32px;
      box-shadow: 0 20px 40px -8px rgba(2, 48, 71, 0.15);
      padding: 32px 28px;
      transition: all 0.2s;
    }


    /* header / hero */
    .prehead {
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: #0a7e9c;
      font-size: 0.9rem;
      margin-bottom: 8px;
    }


    h1 {
      font-size: 2.8rem;
      font-weight: 700;
      line-height: 1.1;
      color: #023e58;
      margin-bottom: 8px;
      letter-spacing: -0.02em;
    }


    .subhead {
      font-size: 1.2rem;
      color: #2c5a70;
      margin-bottom: 32px;
      border-left: 6px solid #0a7e9c;
      padding-left: 20px;
      font-weight: 400;
    }


    /* section headings */
    h2 {
      font-size: 2rem;
      font-weight: 650;
      color: #013a4f;
      margin: 40px 0 20px 0;
      border-bottom: 3px solid #9fd0e3;
      padding-bottom: 12px;
    }


    h3 {
      font-size: 1.5rem;
      font-weight: 600;
      color: #014f6b;
      margin-bottom: 18px;
    }


    .card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 24px;
      margin-bottom: 24px;
    }


    .info-card {
      background: #fbfdff;
      border-radius: 20px;
      padding: 20px 22px;
      border: 1px solid #d2e7f1;
      box-shadow: 0 4px 8px rgba(0, 30, 50, 0.03);
      transition: transform 0.1s ease;
    }


    .info-card h4 {
      font-size: 1.35rem;
      font-weight: 650;
      color: #03506b;
      margin-bottom: 14px;
      display: flex;
      align-items: center;
      gap: 8px;
      border-left: 5px solid #2fa2c7;
      padding-left: 16px;
    }


    .bullet-list {
      list-style: none;
    }


    .bullet-list li {
      margin-bottom: 12px;
      padding-left: 24px;
      position: relative;
      font-size: 1rem;
    }


    .bullet-list li::before {
      content: "▹";
      color: #0f8cb0;
      font-weight: bold;
      position: absolute;
      left: 4px;
    }


    .warning-callout {
      background: #fff6e5;
      border-left: 8px solid #d97706;
      padding: 22px 24px;
      border-radius: 20px;
      margin-bottom: 28px;
      font-weight: 500;
      box-shadow: 0 4px 10px rgba(217, 119, 6, 0.05);
    }


    .warning-callout p {
      font-size: 1.2rem;
      font-weight: 650;
      color: #92400e;
      margin-bottom: 6px;
    }


    .warning-callout small {
      color: #6b4b1d;
    }


    .after-section {
      display: flex;
      flex-direction: column;
      gap: 28px;
    }


    .after-block {
      background: #f6fbfe;
      border-radius: 24px;
      padding: 22px 26px;
      border: 1px solid #c2dfed;
    }


    .tips-footer {
      margin-top: 48px;
      background: #e3f0f7;
      border-radius: 28px;
      padding: 28px 32px;
    }


    .tips-footer h3 {
      margin-top: 0;
      color: #013f57;
    }


    .inline-highlight {
      background: #cbe9f5;
      padding: 2px 8px;
      border-radius: 30px;
      font-weight: 600;
      color: #014361;
    }


    .flex-row {
      display: flex;
      flex-wrap: wrap;
      gap: 24px;
    }


    /* responsive */
    @media (max-width: 700px) {
      .container { padding: 20px 16px; }
      h1 { font-size: 2.2rem; }
      .stat-grid { grid-template-columns: 1fr; }
      .phase-summary { flex-direction: column; }
      .summary-item { justify-content: flex-start; }
    }


    .attribution {
      margin-top: 20px;
      font-size: 0.8rem;
      color: #4a7b8f;
      text-align: right;
    }


    .accent-text {
      color: #035e7a;
      font-weight: 600;
    }
