
    :root {
      --navy: #11283f;
      --navy-2: #1b3b58;
      --ink: #1b2b38;
      --muted: #667786;
      --line: #dbe6ee;
      --paper: #ffffff;
      --mist: #f4f8fb;
      --ice: #e9f5f8;
      --cyan: #3c9cb2;
      --cyan-dark: #23768d;
      --coral: #d2796d;
      --gold: #c7a36a;
      --shadow: 0 20px 55px rgba(17, 40, 63, .10);
      --radius: 22px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--mist);
      font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
      line-height: 1.72;
      -webkit-font-smoothing: antialiased;
    }
    a { color: var(--cyan-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
    a:hover { color: var(--coral); }
    img { max-width: 100%; display: block; }
    .page { overflow: hidden; }
    .container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

    .hero {
      position: relative;
      isolation: isolate;
      padding: 74px 0 86px;
      color: #fff;
      background:
        radial-gradient(circle at 84% 14%, rgba(91, 181, 202, .28), transparent 25%),
        radial-gradient(circle at 5% 88%, rgba(210, 121, 109, .17), transparent 30%),
        linear-gradient(135deg, #0e2237 0%, #173c58 58%, #215c70 100%);
    }
    .hero::before,
    .hero::after {
      content: "";
      position: absolute;
      z-index: -1;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 50%;
      pointer-events: none;
    }
    .hero::before { width: 520px; height: 520px; right: -180px; top: -290px; }
    .hero::after { width: 380px; height: 380px; left: -190px; bottom: -260px; }
    .hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: center; }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 24px;
      color: #c8edf1;
      font-size: .75rem;
      font-weight: 800;
      letter-spacing: .17em;
      text-transform: uppercase;
    }
    .eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--coral); }
    h1, h2, h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
    h1 { max-width: 760px; font-size: clamp(2.65rem, 5vw, 5.3rem); line-height: 1.02; font-weight: 700; }
    .hero-lead { max-width: 680px; margin: 26px 0 0; color: #d9e8ef; font-size: clamp(1.08rem, 1.7vw, 1.28rem); line-height: 1.65; }
    .hero-meta { display: flex; flex-wrap: wrap; gap: 11px 18px; margin-top: 30px; color: #b8d1dc; font-size: .9rem; }
    .hero-meta span { display: inline-flex; align-items: center; gap: 8px; }
    .hero-meta span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
    .hero-media { position: relative; }
    .hero-image-frame { padding: 12px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3); border-radius: 30px; box-shadow: 0 30px 70px rgba(0,0,0,.22); transform: rotate(1.2deg); }
    .hero-image-frame img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; border-radius: 21px; }
    .hero-caption { display: flex; justify-content: space-between; gap: 20px; margin-top: 16px; color: #b8d1dc; font-size: .78rem; line-height: 1.5; }
    .hero-caption strong { color: #fff; font-weight: 700; }
    .article-image-block { margin: 30px 0 34px; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 14px 34px rgba(17,40,63,.07); }
    .article-image-block img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; background: #f7fafb; border-radius: 13px; }
    .article-image-block figcaption { padding: 13px 6px 2px; color: var(--muted); font-size: .82rem; line-height: 1.5; }

    .main-wrap { padding: 46px 0 80px; }
    .quick-answer {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 20px;
      align-items: start;
      margin-bottom: 46px;
      padding: 26px 30px;
      background: linear-gradient(100deg, #fff 0%, #f0fbfc 100%);
      border: 1px solid #cae8ed;
      border-left: 5px solid var(--cyan);
      border-radius: 16px;
      box-shadow: 0 14px 35px rgba(35, 118, 141, .08);
    }
    .quick-mark { display: grid; place-items: center; width: 42px; height: 42px; color: #fff; background: var(--cyan-dark); border-radius: 50%; font-weight: 900; }
    .quick-answer p { margin: 0; font-size: 1.03rem; }
    .quick-answer strong { color: var(--navy); }

    .editorial-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 58px; align-items: start; }
    .article { min-width: 0; }
    .article section { margin-bottom: 56px; }
    .section-kicker { margin-bottom: 9px; color: var(--coral); font-size: .72rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
    h2 { color: var(--navy); font-size: clamp(1.85rem, 3.2vw, 2.8rem); line-height: 1.13; }
    h3 { color: var(--navy); font-size: 1.42rem; line-height: 1.25; }
    .article p { margin: 18px 0; }
    .article-intro { color: #405566; font-size: 1.11rem; }
    .muted { color: var(--muted); }
    .small { font-size: .88rem; }

    .side-note { position: sticky; top: 22px; }
    .side-card { padding: 25px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
    .side-card + .side-card { margin-top: 18px; }
    .side-label { margin-bottom: 13px; color: var(--cyan-dark); font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
    .side-card h3 { font-size: 1.36rem; }
    .side-card p { margin: 13px 0 0; color: #536675; font-size: .93rem; line-height: 1.65; }
    .side-list { margin: 17px 0 0; padding: 0; list-style: none; }
    .side-list li { display: flex; gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); color: #405566; font-size: .9rem; }
    .side-list li::before { content: "✓"; color: var(--cyan-dark); font-weight: 900; }
    .source-chip { display: inline-flex; margin-top: 16px; padding: 8px 11px; color: var(--navy); background: var(--ice); border-radius: 999px; font-size: .76rem; font-weight: 700; text-decoration: none; }

    .criteria-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; margin-top: 26px; }
    .criteria-card { padding: 22px; background: #fff; border: 1px solid var(--line); border-radius: 18px; transition: transform .2s ease, box-shadow .2s ease; }
    .criteria-card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(17,40,63,.08); }
    .criteria-number { display: inline-grid; place-items: center; width: 29px; height: 29px; margin-bottom: 13px; color: #fff; background: var(--navy); border-radius: 8px; font-size: .78rem; font-weight: 900; }
    .criteria-card h3 { font-family: Inter, ui-sans-serif, sans-serif; font-size: 1.05rem; letter-spacing: 0; }
    .criteria-card p { margin: 9px 0 0; color: #5b6f7d; font-size: .91rem; line-height: 1.6; }

    .table-wrap { overflow-x: auto; margin-top: 25px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 12px 30px rgba(17,40,63,.05); }
    table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: .93rem; }
    th, td { padding: 17px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
    th { color: #fff; background: var(--navy); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    th:first-child { border-radius: 17px 0 0 0; }
    th:last-child { border-radius: 0 17px 0 0; }
    tr:last-child td { border-bottom: 0; }
    td:first-child { width: 24%; color: var(--navy); font-weight: 800; }

    .evidence-box { margin: 26px 0; padding: 24px 26px; background: #fffaf3; border: 1px solid #ead9ba; border-radius: 18px; }
    .evidence-box h3 { color: #72542b; font-family: Inter, ui-sans-serif, sans-serif; font-size: 1rem; letter-spacing: 0; }
    .evidence-box p { margin-bottom: 0; color: #665743; font-size: .94rem; }
    .evidence-box a { color: #76562a; }

    .filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 15px; margin-top: 25px; }
    .filter-card { position: relative; min-height: 198px; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
    .filter-card::after { content: ""; position: absolute; right: 20px; top: 20px; width: 9px; height: 9px; background: var(--coral); border-radius: 50%; }
    .filter-card h3 { font-family: Inter, ui-sans-serif, sans-serif; font-size: 1.05rem; letter-spacing: 0; }
    .filter-card p { margin: 12px 0 0; color: #5b6f7d; font-size: .9rem; line-height: 1.6; }
    .filter-tag { display: inline-block; margin-bottom: 15px; color: var(--cyan-dark); font-size: .7rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }

    .reference-card { display: grid; grid-template-columns: 1.05fr .95fr; gap: 26px; align-items: center; margin-top: 26px; padding: 28px; color: #fff; background: linear-gradient(135deg, #15324d 0%, #1f6376 100%); border-radius: 22px; box-shadow: 0 20px 45px rgba(17,40,63,.16); }
    .reference-card h3 { color: #fff; font-size: 1.75rem; }
    .reference-card p { color: #d4e8ed; font-size: .94rem; }
    .reference-card a { color: #fff; text-decoration-color: #a6e4ea; }
    .reference-specs { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin: 0; }
    .reference-specs div { padding: 15px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: 14px; }
    .reference-specs dt { color: #a9dbe2; font-size: .69rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .reference-specs dd { margin: 5px 0 0; color: #fff; font-size: .92rem; font-weight: 700; line-height: 1.4; }

    .decision-panel { margin-top: 25px; padding: 23px; background: #eef7f8; border: 1px solid #cae5e8; border-radius: 18px; }
    .decision-panel h3 { font-family: Inter, ui-sans-serif, sans-serif; font-size: 1.05rem; letter-spacing: 0; }
    .decision-panel ul { margin: 14px 0 0; padding-left: 20px; }
    .decision-panel li { margin: 8px 0; color: #46616c; }

    .checklist { display: grid; gap: 11px; margin-top: 25px; }
    .check-item { display: grid; grid-template-columns: 31px 1fr; gap: 14px; align-items: start; padding: 17px 19px; background: #fff; border: 1px solid var(--line); border-radius: 15px; }
    .check-icon { display: grid; place-items: center; width: 27px; height: 27px; color: var(--cyan-dark); background: var(--ice); border-radius: 50%; font-weight: 900; }
    .check-item strong { color: var(--navy); }
    .check-item span { color: #566b79; font-size: .93rem; }

    .faq-list { margin-top: 25px; border-top: 1px solid var(--line); }
    details { padding: 20px 0; border-bottom: 1px solid var(--line); }
    summary { cursor: pointer; list-style: none; color: var(--navy); font-weight: 800; padding-right: 35px; position: relative; }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: "+"; position: absolute; right: 5px; top: -3px; color: var(--cyan-dark); font-size: 1.5rem; font-weight: 400; }
    details[open] summary::after { content: "−"; }
    details p { max-width: 830px; margin: 12px 0 0; color: #566b79; font-size: .96rem; }

    .sources { padding: 25px 27px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
    .sources h3 { font-family: Inter, ui-sans-serif, sans-serif; font-size: 1.05rem; letter-spacing: 0; }
    .sources ol { margin: 15px 0 0; padding-left: 21px; }
    .sources li { margin: 9px 0; color: #5b6f7d; font-size: .9rem; }

    .cta { margin-top: 58px; padding: 34px; color: #fff; background: linear-gradient(105deg, #d2796d 0%, #bd655f 52%, #9f535b 100%); border-radius: 24px; box-shadow: 0 22px 42px rgba(159,83,91,.18); }
    .cta h2 { color: #fff; font-size: clamp(1.9rem, 3vw, 2.65rem); }
    .cta p { max-width: 740px; margin: 13px 0 0; color: #fff0ed; }
    .cta-button { display: inline-flex; align-items: center; gap: 10px; margin-top: 21px; padding: 13px 19px; color: var(--navy); background: #fff; border-radius: 999px; font-weight: 900; text-decoration: none; }
    .cta-button:hover { color: var(--navy); background: #eaf7f8; }

    .disclaimer { margin-top: 26px; padding: 18px 20px; color: #657684; background: #eef2f5; border: 1px solid #dce5ea; border-radius: 14px; font-size: .83rem; line-height: 1.65; }
    .footer { padding: 32px 0 46px; color: #758491; text-align: center; font-size: .82rem; }
    .footer strong { color: var(--navy); }

    @media (max-width: 960px) {
      .hero-grid, .reference-card { grid-template-columns: 1fr; }
      .hero { padding: 58px 0 65px; }
      .hero-media { max-width: 650px; }
      .editorial-layout { grid-template-columns: 1fr; gap: 28px; }
      .side-note { position: static; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
      .side-card + .side-card { margin-top: 0; }
    }
    @media (max-width: 680px) {
      .container { width: min(100% - 26px, 1180px); }
      .hero { padding: 43px 0 50px; }
      h1 { font-size: clamp(2.35rem, 12vw, 3.7rem); }
      .hero-lead { font-size: 1rem; }
      .main-wrap { padding-top: 28px; }
      .quick-answer { grid-template-columns: 1fr; padding: 22px; }
      .criteria-grid, .filter-grid, .side-note { grid-template-columns: 1fr; }
      .reference-card { padding: 23px; }
      .reference-specs { grid-template-columns: 1fr 1fr; }
      .cta { padding: 27px 22px; }
      .article section { margin-bottom: 43px; }
    }
  