    /* All styles scoped to .ppt-ui so they cannot affect the breadcrumb, the
       shared .hr H1, or anything else on the site. Fonts are inherited from the
       site; only sizing, weight, colour and spacing are set here. */
    .ppt-ui { --brand:#cd1821; --brand-dark:#a3121a;
      --line:#e7e7ea; --bg:#ffffff; --bg-soft:#f6f6f7; --radius:14px; --radius-sm:10px;
      --shadow:0 1px 2px rgba(17,17,19,.04), 0 10px 28px rgba(17,17,19,.05);
      --ok-bg:#e8f6ef; --ok-bd:#b9e6cf; --ok-tx:#0b6b3a;
      --warn-bg:#fff4e5; --warn-bd:#ffe0b2; --warn-tx:#8a5a00;
      --err-bg:#ffe9ec; --err-bd:#ffccd4; --err-tx:#b00020;
      color:#818286; line-height:1.55; }
    .ppt-ui *, .ppt-ui *::before, .ppt-ui *::after { box-sizing:border-box; }
    .ppt-ui h2, .ppt-ui h3 { font-family:"Manrope", sans-serif; color:#818286; margin:0; font-weight:700;}
    .ppt-ui :focus-visible { outline:2px solid var(--brand); outline-offset:2px; border-radius:4px; }
    @media (prefers-reduced-motion: reduce) { .ppt-ui * { transition:none !important; animation:none !important; } }

    .ppt-ui .lead { color:#818286; margin:6px 0 0; }
    .ppt-ui .chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
    .ppt-ui .chip { display:inline-flex; align-items:center; gap:7px; font-size:.8rem; font-weight:600; color:#818286;
      background:var(--bg-soft); border:1px solid var(--line); border-radius:999px; padding:6px 13px; }
    .ppt-ui .chip .dot { width:7px; height:7px; border-radius:50%; background:var(--brand); }

    .ppt-ui .eyebrow { display:inline-block; color:var(--brand); font-weight:700; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:10px; }

    .ppt-ui .tool { display:grid; grid-template-columns:1.15fr 1fr; gap:18px; margin-top:26px; align-items:start; }
    @media (max-width: 940px) { .ppt-ui .tool { grid-template-columns:1fr; } }

    .ppt-ui .card { background:var(--bg); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px; overflow:hidden; min-width:0; }
    .ppt-ui .card-head h2 { font-size:1.18rem; }
    .ppt-ui .card-sub { color:#818286; font-size:.9rem; margin:6px 0 16px; }

    .ppt-ui label { display:block; font-size:.82rem; font-weight:600; color:#818286; margin-bottom:6px; }
    .ppt-ui .field { margin-bottom:14px; }
    .ppt-ui input, .ppt-ui select, .ppt-ui textarea { width:100%; max-width:100%; font:inherit; font-size:.92rem; color:#818286;
      background:#fff; border:1px solid #d4d4d9; border-radius:var(--radius-sm); padding:.5rem .7rem;
      transition:border-color .15s ease, box-shadow .15s ease; }
    .ppt-ui input:hover, .ppt-ui select:hover, .ppt-ui textarea:hover { border-color:#b9b9c0; }
    .ppt-ui input:focus, .ppt-ui select:focus, .ppt-ui textarea:focus { outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(205,24,33,.12); }
    .ppt-ui input[type="number"] { appearance:textfield; }
    .ppt-ui textarea { min-height:60px; resize:vertical; }
    .ppt-ui .hint { font-size:.78rem; color:#818286; margin-top:6px; }

    .ppt-ui .two { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    @media (max-width: 560px) { .ppt-ui .two { grid-template-columns:1fr; } }
    .ppt-ui .divider { height:1px; background:var(--line); margin:18px 0; }

    .ppt-ui .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; font:inherit;
      font-weight:700; font-size:.9rem; border-radius:10px; padding:.6rem 1.1rem; border:2px solid transparent;
      transition:background .15s ease, color .15s ease, border-color .15s ease, transform .05s ease; text-decoration:none; }
    .ppt-ui .btn:active { transform:translateY(1px); }
    .ppt-ui .btn-primary { background:var(--brand); color:#fff; border-color:var(--brand); }
    .ppt-ui .btn-primary:hover { background:var(--brand-dark); border-color:var(--brand-dark); color:#fff; }
    .ppt-ui .btn-ghost { background:#fff; color:var(--brand); border-color:var(--brand); }
    .ppt-ui .btn-ghost:hover { background:rgba(205,24,33,.06); }
    .ppt-ui .btn-soft { background:#fff; color:#818286; border-color:#d4d4d9; }
    .ppt-ui .btn-soft:hover { border-color:#b9b9c0; background:var(--bg-soft); }
    .ppt-ui .btn-row { display:flex; flex-wrap:wrap; gap:10px; }

    .ppt-ui .label-pill { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#818286; margin-bottom:8px; }

    .ppt-ui .tableWrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--line); border-radius:var(--radius-sm); margin-top:6px; }
    .ppt-ui table { width:100%; border-collapse:collapse; table-layout:fixed; margin:0; }
    .ppt-ui thead th { text-align:left; font-size:.74rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#818286;
      background:var(--bg-soft); padding:10px; border-bottom:1px solid var(--line); white-space:normal; word-break:break-word; }
    .ppt-ui tbody td { padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
    .ppt-ui tbody tr:last-child td { border-bottom:none; }
    .ppt-ui td input, .ppt-ui td select { font-size:.86rem; padding:.4rem .55rem; }
    .ppt-ui th.col-desc { width:34%; } .ppt-ui th.col-num { width:16%; } .ppt-ui th.col-sel { width:17%; }

    .ppt-ui .msg { margin-top:14px; padding:11px 13px; border-radius:var(--radius-sm); font-size:.88rem; }
    .ppt-ui .msg.err { background:var(--err-bg); color:var(--err-tx); border:1px solid var(--err-bd); }
    .ppt-ui .msg.warn { background:var(--warn-bg); color:var(--warn-tx); border:1px solid var(--warn-bd); }
    .ppt-ui .msg.ok { background:var(--ok-bg); color:var(--ok-tx); border:1px solid var(--ok-bd); }

    .ppt-ui .kpi { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    @media (max-width: 460px) { .ppt-ui .kpi { grid-template-columns:1fr; } }
    .ppt-ui .k { border:1px solid var(--line); border-radius:var(--radius-sm); padding:14px; background:#fff; min-width:0; }
    .ppt-ui .k .k-label { font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#818286; }
    .ppt-ui .k .k-val { font-size:1.5rem; font-weight:700; color:#818286; margin-top:6px; line-height:1.1; }
    .ppt-ui .k .k-unit { font-size:.76rem; color:#818286; margin-top:4px; }
    .ppt-ui .k.k-feature { background:linear-gradient(180deg, rgba(205,24,33,.05), rgba(205,24,33,.02)); border-color:rgba(205,24,33,.35); }
    .ppt-ui .k.k-feature .k-val { color:var(--brand); font-size:1.7rem; }

    .ppt-ui .result-block { margin-top:16px; }
    .ppt-ui .result-block .muted { color:#818286; font-size:.9rem; }
    .ppt-ui .micro { font-size:.78rem; color:#818286; margin-top:8px; }

    .ppt-ui details.adv { border:1px dashed #d4d4d9; border-radius:var(--radius-sm); padding:0 14px; margin-top:14px; }
    .ppt-ui details.adv summary { cursor:pointer; font-weight:700; font-size:.9rem; padding:12px 0; list-style:none; }
    .ppt-ui details.adv summary::-webkit-details-marker { display:none; }
    .ppt-ui details.adv summary::before { content:"+ "; color:var(--brand); font-weight:700; }
    .ppt-ui details.adv[open] summary::before { content:"\2212 "; }
    .ppt-ui details.adv .adv-body { padding-bottom:14px; }

    .ppt-ui .foot-note { margin-top:24px; font-size:.8rem; color:#818286; border-left:3px solid var(--line); padding:4px 0 4px 14px; }

    .ppt-ui .section { margin-top:52px; }
    .ppt-ui .section > h2 { font-size:1.5rem; letter-spacing:-.01em; }
    .ppt-ui .prose h3 { font-size:1.06rem; margin-top:26px; }
    .ppt-ui .prose p { color:#818286; margin:10px 0 0; }
    .ppt-ui .prose a { color:var(--brand); text-decoration:none; font-weight:600; border-bottom:1px solid rgba(205,24,33,.3); }
    .ppt-ui .prose a:hover { border-bottom-color:var(--brand); }

    .ppt-ui .faq {margin-top:18px; border-top:1px solid var(--line); }
    .ppt-ui .faq details { border-bottom:1px solid var(--line); }
    .ppt-ui .faq summary { cursor:pointer; list-style:none; padding:16px 36px 16px 0; position:relative; font-weight:700; font-size:1rem; }
    .ppt-ui .faq summary::-webkit-details-marker { display:none; }
    .ppt-ui .faq summary::after { content:"+"; position:absolute; right:6px; top:14px; font-size:1.3rem; color:var(--brand); }
    .ppt-ui .faq details[open] summary::after { content:"\2212"; }
    .ppt-ui .faq .faq-a { color:#818286; padding:0 0 18px;}

    .ppt-ui .cta { margin-top:52px; background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius); padding:34px; text-align:center; }
    .ppt-ui .cta h2 { font-size:1.5rem; }
    .ppt-ui .cta p { color:#818286;margin:12px auto 0; }
    .ppt-ui .cta .btn-row { justify-content:center; margin-top:22px; }