
    :root{
      --pb-red:#d51f3f;
      --pb-charcoal:#24272b;
      --pb-ink:#20242a;
      --pb-muted:#667085;
      --pb-bg:#f5f7fa;
      --pb-card:#ffffff;
      --pb-line:#e4e7ec;
      --pb-green:#1f7a55;
      --pb-amber:#9a6700;
      --pb-red-soft:#fff1f3;
      --pb-green-soft:#eefbf4;
      --pb-amber-soft:#fff8e6;
      --radius:16px;
      --shadow:0 10px 28px rgba(16,24,40,.08);
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      background:var(--pb-bg);
      color:var(--pb-ink);
      line-height:1.45;
    }
    .pb-wrap{max-width:1240px;margin:0 auto;padding:24px}
    .pb-hero{
      background:linear-gradient(135deg,#202328,#343941);
      color:#fff;
      border-radius:22px;
      padding:28px;
      box-shadow:var(--shadow);
      margin-bottom:22px;
    }
    .pb-brand{display:flex;align-items:center;gap:14px;margin-bottom:16px}
    .pb-brand img{height:42px;max-width:250px;object-fit:contain}
    .pb-kicker{
      display:inline-flex;align-items:center;gap:8px;
      font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
      color:#ffdbe2;margin-bottom:8px;
    }
    h1{font-size:clamp(1.85rem,3vw,3rem);line-height:1.08;margin:0 0 12px}
    .pb-hero p{max-width:900px;margin:0;color:#e7e9ed;font-size:1.02rem}
    .pb-source-note{
      margin-top:16px;padding:12px 14px;border:1px solid rgba(255,255,255,.18);
      border-radius:12px;background:rgba(255,255,255,.06);font-size:.9rem;color:#eef0f3;
    }
    .pb-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
    .pb-card{
      background:var(--pb-card);border:1px solid var(--pb-line);border-radius:var(--radius);
      box-shadow:var(--shadow);padding:22px;
    }
    .pb-card h2,.pb-card h3{margin-top:0}
    .pb-card h2{font-size:1.35rem;margin-bottom:6px}
    .pb-card h3{font-size:1.03rem}
    .pb-sub{color:var(--pb-muted);font-size:.92rem;margin:0 0 18px}
    .pb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .pb-field{display:flex;flex-direction:column;gap:6px}
    .pb-field.full{grid-column:1/-1}
    label{font-weight:700;font-size:.88rem}
    .pb-help{font-size:.78rem;color:var(--pb-muted);font-weight:400}
    input,select{
      width:100%;border:1px solid #cfd5dd;border-radius:10px;background:#fff;color:#111827;
      padding:11px 12px;font:inherit;outline:none;
    }
    input:focus,select:focus{border-color:var(--pb-red);box-shadow:0 0 0 3px rgba(213,31,63,.10)}
    .pb-input-prefix{position:relative}
    .pb-input-prefix span{
      position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#667085;font-weight:700
    }
    .pb-input-prefix input{padding-left:28px}
    .pb-inline{display:flex;gap:10px;align-items:end}
    .pb-inline > *{flex:1}
    .pb-chip-row{display:flex;flex-wrap:wrap;gap:8px}
    .pb-chip{
      border:1px solid #d0d5dd;background:#fff;border-radius:999px;padding:8px 12px;
      font-size:.86rem;font-weight:700;cursor:pointer;color:#344054;
    }
    .pb-chip.active,.pb-chip:hover{background:var(--pb-charcoal);color:#fff;border-color:var(--pb-charcoal)}
    .pb-alert{
      margin-top:14px;padding:12px 14px;border-radius:12px;font-size:.88rem;border:1px solid;
    }
    .pb-alert.ok{background:var(--pb-green-soft);border-color:#b8e4cd;color:#175f43}
    .pb-alert.warn{background:var(--pb-amber-soft);border-color:#f1d384;color:#7a5100}
    .pb-alert.bad{background:var(--pb-red-soft);border-color:#f1b7c2;color:#9f1730}
    .pb-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
    button.pb-btn{
      border:0;border-radius:11px;padding:11px 16px;font-weight:800;font-size:.92rem;cursor:pointer;
    }
    .pb-btn.primary{background:var(--pb-red);color:#fff}
    .pb-btn.secondary{background:#eef0f3;color:#24272b}
    .pb-btn.ghost{background:#fff;border:1px solid #d0d5dd;color:#344054}
    .pb-results{margin-top:20px}
    .pb-banner{
      background:#fff;border:1px solid var(--pb-line);border-radius:16px;padding:16px 18px;
      display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
      margin-bottom:18px;
    }
    .pb-banner strong{font-size:1.25rem}
    .pb-budget{font-size:1.65rem;font-weight:900;color:var(--pb-red)}
    .pb-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}
    .pb-option{position:relative;overflow:hidden}
    .pb-option::before{
      content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--pb-red)
    }
    .pb-option.green::before{background:var(--pb-green)}
    .pb-option-tag{
      display:inline-block;font-weight:900;font-size:.75rem;letter-spacing:.06em;
      text-transform:uppercase;margin-bottom:6px;color:var(--pb-muted)
    }
    .pb-big{font-size:2.15rem;line-height:1;font-weight:900;margin:8px 0}
    .pb-big.red{color:var(--pb-red)}
    .pb-big.green{color:var(--pb-green)}
    .pb-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
    .pb-metric{background:#f8fafc;border:1px solid #edf0f4;border-radius:12px;padding:12px}
    .pb-metric .k{font-size:.75rem;color:var(--pb-muted);font-weight:700;text-transform:uppercase}
    .pb-metric .v{font-size:1.08rem;font-weight:900;margin-top:3px}
    .pb-table-wrap{overflow-x:auto}
    table{width:100%;border-collapse:collapse;min-width:720px}
    th,td{padding:11px 10px;border-bottom:1px solid var(--pb-line);text-align:right;font-size:.88rem}
    th:first-child,td:first-child{text-align:left}
    th{font-size:.76rem;color:#667085;text-transform:uppercase;letter-spacing:.03em;background:#fafbfc}
    .pb-bars{display:grid;gap:12px;margin-top:12px}
    .pb-bar-row{display:grid;grid-template-columns:190px 1fr 100px;gap:10px;align-items:center}
    .pb-bar-label{font-size:.86rem;font-weight:700}
    .pb-bar-track{height:14px;background:#edf0f3;border-radius:999px;overflow:hidden}
    .pb-bar-fill{height:100%;background:var(--pb-charcoal);border-radius:999px}
    .pb-bar-fill.red{background:var(--pb-red)}
    .pb-bar-fill.green{background:var(--pb-green)}
    .pb-bar-value{text-align:right;font-weight:900;font-size:.86rem}
    .pb-disclosure{
      margin-top:20px;background:#fff;border:1px solid var(--pb-line);border-radius:16px;padding:18px;
      color:#475467;font-size:.84rem;
    }
    .pb-disclosure strong{color:#222}
    .pb-advanced{
      margin-top:14px;border-top:1px solid var(--pb-line);padding-top:14px
    }
    details summary{cursor:pointer;font-weight:800}
    .pb-check{display:flex;align-items:center;gap:8px;margin-top:12px}
    .pb-check input{width:auto}
    .hide{display:none!important}
    .pb-foot-source{font-size:.79rem;color:#667085;margin-top:10px}

    .pb-breadcrumb{font-size:.82rem;color:#667085;margin:0 0 14px}
    .pb-breadcrumb a{color:#475467;text-decoration:none}
    .pb-breadcrumb a:hover{text-decoration:underline}
    .pb-seo-intro{
      background:#fff;border:1px solid var(--pb-line);border-radius:16px;
      padding:20px 22px;margin:0 0 20px;box-shadow:var(--shadow)
    }
    .pb-seo-intro h2{font-size:1.32rem;margin:0 0 8px}
    .pb-seo-intro p{margin:0;color:#344054}
    .pb-quick-grid{
      display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px
    }
    .pb-quick{
      border:1px solid #e4e7ec;border-radius:12px;padding:12px;background:#fafbfc
    }
    .pb-quick strong{display:block;font-size:.8rem;color:#667085;text-transform:uppercase;margin-bottom:4px}
    .pb-quick span{font-size:.92rem;font-weight:800;color:#20242a}
    .pb-jump{
      display:flex;flex-wrap:wrap;gap:8px;margin-top:14px
    }
    .pb-jump a{
      display:inline-block;border:1px solid #d0d5dd;border-radius:999px;padding:7px 11px;
      color:#344054;text-decoration:none;font-size:.8rem;font-weight:750;background:#fff
    }
    .pb-jump a:hover{border-color:var(--pb-red);color:var(--pb-red)}
    .pb-content{
      max-width:1040px;margin:28px auto 0;background:#fff;border:1px solid var(--pb-line);
      border-radius:18px;box-shadow:var(--shadow);padding:clamp(20px,4vw,40px)
    }
    .pb-content h2{
      font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.2;margin:38px 0 12px;color:#20242a
    }
    .pb-content h2:first-child{margin-top:0}
    .pb-content h3{font-size:1.18rem;line-height:1.3;margin:26px 0 8px}
    .pb-content p{color:#344054;margin:0 0 14px}
    .pb-content a{color:#b51c36;font-weight:700}
    .pb-answer{
      border-left:4px solid var(--pb-red);padding:14px 16px;background:#fff6f8;
      border-radius:0 12px 12px 0;margin:12px 0 18px
    }
    .pb-answer p{margin:0;color:#333}
    .pb-content ul,.pb-content ol{color:#344054;padding-left:22px}
    .pb-content li{margin-bottom:7px}
    .pb-content table{min-width:0}
    .pb-content .pb-table-wrap{margin:16px 0 20px}
    .pb-callout{
      border:1px solid #cce5d8;background:#f2fbf6;border-radius:14px;
      padding:16px 18px;margin:18px 0
    }
    .pb-callout strong{color:#175f43}
    .pb-example{
      border:1px solid #e4e7ec;background:#f8fafc;border-radius:14px;padding:18px;margin:18px 0
    }
    .pb-example h3{margin-top:0}
    .pb-faq{border-top:1px solid #e4e7ec;padding-top:4px}
    .pb-faq details{border-bottom:1px solid #e4e7ec;padding:14px 0}
    .pb-faq summary{font-size:1rem;color:#20242a}
    .pb-faq details p{margin:10px 0 4px}
    .pb-author{
      display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;
      border:1px solid #e4e7ec;border-radius:14px;padding:18px;background:#fafbfc
    }
    .pb-author-mark{
      width:64px;height:64px;border-radius:50%;background:var(--pb-charcoal);color:#fff;
      display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:900
    }
    .pb-source-list{font-size:.9rem}
    .pb-source-list li{margin-bottom:9px}
    .pb-related{
      display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px
    }
    .pb-related a{
      display:block;border:1px solid #e4e7ec;border-radius:12px;padding:14px;text-decoration:none;
      background:#fafbfc;color:#20242a
    }
    .pb-related a span{display:block;color:#667085;font-size:.8rem;font-weight:500;margin-top:4px}
    @media (max-width:900px){
      .pb-quick-grid{grid-template-columns:1fr 1fr}
      .pb-related{grid-template-columns:1fr}
    }
    @media (max-width:560px){
      .pb-quick-grid{grid-template-columns:1fr}
      .pb-author{grid-template-columns:1fr}
    }

    .pb-return-mode{
      display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 14px;
      padding:5px;background:#eef1f4;border-radius:12px
    }
    .pb-return-mode button{
      border:0;border-radius:9px;padding:10px 12px;font-weight:850;cursor:pointer;
      background:transparent;color:#475467
    }
    .pb-return-mode button.active{background:#fff;color:#20242a;box-shadow:0 2px 8px rgba(16,24,40,.08)}
    .pb-yearly-panel{
      grid-column:1/-1;border:1px solid var(--pb-line);border-radius:14px;
      padding:15px;background:#fbfcfd
    }
    .pb-scenario-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
    .pb-scenario-btn{
      border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:10px;
      padding:9px 11px;font-weight:800;font-size:.82rem;cursor:pointer
    }
    .pb-scenario-btn.active{background:var(--pb-charcoal);color:#fff;border-color:var(--pb-charcoal)}
    .pb-year-grid{
      display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px
    }
    .pb-year-card{
      background:#fff;border:1px solid #dde2e8;border-radius:11px;padding:9px;min-width:0
    }
    .pb-year-card label{
      display:block;font-size:.72rem;color:#667085;text-transform:uppercase;
      letter-spacing:.03em;margin-bottom:5px
    }
    .pb-year-card input{padding:9px 8px;text-align:center;font-weight:800}
    .pb-return-summary{
      display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px
    }
    .pb-return-summary .pb-metric{padding:10px}
    .pb-return-note{margin-top:10px;font-size:.78rem;color:#667085;line-height:1.4}
    .pb-path-line{
      margin-top:10px;padding:10px 12px;background:#fff;border:1px solid #e4e7ec;
      border-radius:10px;font-size:.8rem;color:#475467
    }
    @media (max-width:900px){
      .pb-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
      .pb-return-summary{grid-template-columns:1fr}
    }
    @media (max-width:560px){
      .pb-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .pb-return-mode{grid-template-columns:1fr}
    }

    .pb-share-card{margin-top:20px}
    .pb-share-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
    .pb-share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
    .pb-preview{
      margin-top:14px;background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px;
      padding:14px;white-space:pre-wrap;font-size:.86rem;color:#344054;max-height:330px;overflow:auto
    }
    .pb-status{margin-top:10px;font-size:.82rem;color:#475467;font-weight:700}
    @media (max-width:900px){.pb-share-grid{grid-template-columns:1fr}}

    @media (max-width:900px){
      .pb-grid,.pb-compare{grid-template-columns:1fr}
      .pb-form-grid{grid-template-columns:1fr}
      .pb-field.full{grid-column:auto}
      .pb-bar-row{grid-template-columns:1fr}
      .pb-bar-value{text-align:left}
    }
  
.pb-site-header{background:#202328;color:white}.pb-site-inner{max-width:1240px;margin:0 auto;padding:15px 24px;display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}.pb-site-brand{color:white;font-size:1.15rem;text-decoration:none;font-weight:900}.pb-site-brand small{display:block;font-size:.72rem;color:#d3dbe6;font-weight:500}.pb-site-links{display:flex;gap:18px;flex-wrap:wrap}.pb-site-links a{color:white;font-weight:750;text-decoration:none}.pb-site-footer{background:#202328;color:#dce3ec;margin-top:32px}.pb-site-footer a{color:white}.pb-site-footer p{margin:4px 0 0;font-size:.85rem}
@media(max-width:600px){.pb-site-inner{padding:12px 16px}.pb-site-links{gap:10px}}
/* V2 mobile overflow hardening: scroll wide comparison tables within their cards. */
.pb-card,.pb-grid > *, .pb-compare > *{min-width:0}
.pb-table-wrap{min-width:0;max-width:100%;overflow-x:auto}
@media(max-width:900px){.pb-grid,.pb-compare{grid-template-columns:minmax(0,1fr)}}
/* 320px accessibility fix: two-column metrics may contain long labels. */
.pb-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.pb-metric{min-width:0;overflow-wrap:anywhere}
